Kayıt Ol

Gönderilerinizi yayınlamak, insanların sorularını yanıtlamak ve diğer insanlarla bağlantı kurmak için Yazılım Köyü'ne kaydolun.

Hesabın var mı? Giriş Yap
  • Google ile devam et
  • Linkedin ile devam et
  • GitHub ile devam et
ya da

Hesabın var mı? Şimdi Giriş Yap

Giriş Yap

Gönderilerinizi paylaşmak ve insanların sorularını yanıtlamak ve diğer insanlarla bağlantı kurmak için Yazılım Köyü'ne giriş yapın.

Buradan kaydolun
  • Google ile devam et
  • Linkedin ile devam et
  • GitHub ile devam et
ya da

Parolamı unuttum?

Hesabınız yok mu? Buradan kaydolun

Parolamı unuttum

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Hesabın var mı? Şimdi Giriş Yap
Giriş YapKayıt Ol

Yazılım Köyü

Yazılım Köyü Logo Yazılım Köyü Logo

Yazılım Köyü Navigation

  • Anasayfa
  • Hakkımızda
  • Etkinlikler & Eğitimler
    • Ücretsiz Eğitimler
    • Ücretli Eğitimler
  • İş İlanları
  • Ekibimiz
  • Partnerler
  • Sponsorlar
  • İletişim
Ara
Paylaşım Yap

Mobile menu

Close
Paylaşım Yap
  • Anasayfa
  • Etkinlikler & Eğitimler
  • Partnerler
  • Sponsorlar
  • Ekibimiz
  • Gruplar
  • Grup Ekle
  • Kategoriler
  • Tüm Paylaşımlar
    • Güncel Paylaşımlar
    • Trend Paylaşımlar
    • En Çok Tıklanan Paylaşımlar
  • Oylamalar
  • Etiketler
  • Rozetler
  • Tüm Kullanıcılar
  • Destek
  • İletişim
Anasayfa/ Paylaşımlar/Q 40249
Sonraki
İşleniyor
Cemaltuysuz
Cemaltuysuz

Cemaltuysuz

  • Mobile Developer
  • 17 Paylaşımlar
  • 2 Yorumlar
  • 0 En İyi Yanıtlar
  • 315 Puan
Profili gör
CemaltuysuzKöyün Muhtarı
Tarih: Ağustos 28, 20212021-08-28T16:48:56+03:00 2021-08-28T16:48:56+03:00Kategori: Eğitim

Sıralama Algoritmaları – Seçmeli Sıralama (Selection Sort)

Sıralama Algoritmaları – Seçmeli Sıralama (Selection Sort)

Sıralama Algoritmaları nedir ?

Sıralama algoritmaları çok sayıda birim ve öğeyi en düşükten en yükseğe veya en yüksekten en düşüğe gibi belirli yapıda sırlamamızı sağlayan algoritmalardır.

Örnek olarak bir haber sitesinin içerisinde bulunan haberlerin ilk sayfasında daha güncel haberleri listeleyeceğiniz gibi sayfa sayısını arttırdıkça haberlerin daha eskiye ait olması veya bir e-ticaret sitesinde aradığınız eşyayı en çok puan alan şeklinde filtrelediğinizde isteğiniz doğrultusunda puansal olarak azalan satırlar görmeniz belirli sıralama algoritmaları ile gerçekleşmektedir.

Selection Sort

Selection Sort için basit bir sıralama algoritması diyebiliriz. Bu algoritma elinizdeki veri listesini bir nevi iki tarafa böler. Sıralanmış veriler sol tarafta kalırken sıralanmamış veriler ise sağ tarafta kalırlar. Algoritma veri listesi içerisinden sıra ile en küçük veriyi bulur ve onu başa alır (swap). Bir sonraki taramasında ilk sıradaki veriyi artık karşılaştırmayacaktır çünkü o zaten sıralanmıştır ve yeri bellidir. Dizinin ikinci en küçük verisini bulur ve onu 2. sıraya yerleştirir. Bu şekilde devam ederek bir liste içerisinde bulunan verileri belirli bir yapıda sıralar.

Algoritma adımları :

1- En küçük veriyi bulabilmek için veri listesinin içinde bulunan bütün elamanlarda gezinti yapmak.

2- Listenin son elemanına geldiğinizde en küçük elamanı bulmuş olursunuz.

3- Henüz sıralanmamış kısımda kalan ilk eleman ile bulduğunuz en küçük elemanın yerlerini değiştirin.

4- Dizinin geri kalanında bu adımları tekrar edin.

Peki bu algoritma bir dizi veriyi sıralamak için ne kadar çaba sarf ediyor ?

Şöyle ki elimizde var olan dizinin ilk halinde elemanların hangi slotlarda bulunduklarını bilemeyiz bu yüzden en kötü ihtimali (worst case) referans alarak yaklaşacağız. Başlangıçta n elemanlı bir dizinin en küçük öğesini bulup ilk sıraya yerleştirmesi için bütün bir diziyi taraması gerekir. İkinci aramasında dizinin yine tamamını tarayacaktır lakin bu sefer yapacağı karşılaştırma n-1 defa olacaktır.

Veri dizisinin içini  =  n^2  şeklinde tarar iken dizi içinde n + n-1 + n-2 + n-3 … adet karşılaştırma yapar.

 

 

Teorik olarak bu durumu anladıysak artık Java programlama dili ile bir uygulamasını yapalım ne dersiniz ?

Selection Sort

Github : https://shorturl.at/dnqwQ

Main methodumuzun içerisinde ilk olarak bir adet sıralanmamış bir veri dizimiz bulunuyor. Bu veri dizisinin ilk halini yazdırıyoruz. Sonrasında oluşturduğumuz selectionSort methodu ile veri dizisini Selection Sort algoritmasına uygun bir şekilde sıralıyoruz. Method içerisinde iç içe iki farklı döngümüz bulunuyor. İlk döngü liste içerisinde adım adım ilerler iken ikinci döngümüz karşılaştırmayı yapıyor ve en düşük sayıyı buluyor.

Logcat ekranımız :

Logcat

 

Okuduğunuz için teşekkür ederim. Bir sonraki yazıda görüşmek üzere kendinize iyi bakın ve sağlıcakla kalın 🙂

 

good bye

algoritmajavasıralamasıralama algoritmasorting
  • 2 2 Yanıt
  • 146 Görüntüleme
  • 17 Beğeni
Yorum Yap
Paylaş
  • Facebook

    Benzer Paylaşımlar

    • Yazılımcıların bilmesi gereken 3 algoritma
    • Android Geliştiricileri İçin Kütüphane Önerileri
    • JAVA Software Developer İş İlanı

    2 Yanıt

    • Oylanan
    • En eski
    • Güncel
    1. Sümeyye Tekin

      Sümeyye Tekin

      • Elektrik elektronik mühendisliği
      • 0 Paylaşımlar
      • 8 Yorumlar
      • 0 En İyi Yanıtlar
      • 20 Puan
      Profili gör
      Sümeyye Tekin Köyde Yeni Elektrik elektronik mühendisliği
      2021-08-28T16:53:15+03:00Paylaşıldı Ağustos 28, 2021 4:53 pm

      Çok istifadeli bir yazı olmuş Cemal. Emeğine sağlık.

      Çok istifadeli bir yazı olmuş Cemal. Emeğine sağlık.

      See less
      • Paylaş
        Paylaş
        • Paylaş Facebook
        • Paylaş Twitter
        • Paylaş LinkedIn
        • Paylaş WhatsApp
    2. Berkay Nayman

      Berkay Nayman

      • Turkey
      • 0 Paylaşımlar
      • 1 Yorum
      • 0 En İyi Yanıtlar
      • 5 Puan
      Profili gör
      Berkay Nayman
      2021-09-01T10:02:03+03:00Paylaşıldı Eylül 1, 2021 10:02 am

      Teşekkürler :)

      Teşekkürler 🙂

      See less
      • Paylaş
        Paylaş
        • Paylaş Facebook
        • Paylaş Twitter
        • Paylaş LinkedIn
        • Paylaş WhatsApp

    Cevap eklemek için giriş yapmalısınız.

    • Google ile devam et
    • Linkedin ile devam et
    • GitHub ile devam et
    ya da

    Parolamı unuttum?

    Hesaba mı ihtiyacınız var? Buradan kaydolun

    Sidebar

    Ekibe Katıl!

    Sosyal Medya

    Trend Etiketler

    algoritma android bootcamp c++ eğitim insider java javascript kodlama kriptoloji python sql staj veri vue fundemental eğitimi webinar yazılım Ücretsiz eğitim Ücretsiz Eğitimler İş İlanı şifreleme

    Sponsorlar

    Benzer Paylaşımlar

    • Melihşah Topçu

      Firewall (Güvenlik Duvarı) Nedir

      • 1 yanıt
    • Yazılım Köyü

      Yazılım Köyü&Zemin İstanbul İş Birliği ile Ücretsiz Altogic Eğitimini Kaçırma!

      • 0 yanıt
    • Yazılım Köyü

      AKSigorta Java&Angular BootCamp Kazananları Açıklandı!

      • 0 yanıt

    Başvuru Yap

    Paylaşım yap
    • Popüler
    • Yanıtlar
    • Etiketler
    • Buse TURAN

      FULL STACK SUPERMAN / SUPERWOMAN OLMAK İÇİN YAPMANIZ GEREKEN ÜCRETSİZ ...

    • Selin Dayıoğlu

      4 Ücretsiz Sertifika Sitesi

    • ibrahim Demirli

      Angular 12 ile gelen önemli yenilikler

    • Sait ORHAN

      Stajyerlerimi Nasıl Eğitiyorum?

    • Buse TURAN

      BİR SONRAKİ PROJENİZ İÇİN 12 EĞLENCELİ API

    • Buse TURAN

      Her Geliştiricinin Favorilerine Eklemesi Gereken 12 Ücretsiz Tasarım Kaynağı

    • Yazılım Köyü

      React BootCamp: Arçelik'in Dijital Dönüşümünde React Zamanı!

    • Buse TURAN

      C++ ÖĞRENENLER İÇİN EN İYİ 8 WEB SİTESİ

    • Buse Öztan

      HTML-CSS gibi kodlamalarda kullandığınız en favori editörünüz hangisi?

    • Edanur Öztürk

      Geleceğe Giriş-Doğuş Teknoloji

    • Melihşah Topçu
      Melihşah Topçu Yanıtlandı Merhaba arkadaşlar, Firewall araştırmalarım üzerinde böyle bir rapor hazırladım, umarım… Haziran 20, 2022 at 4:41 pm
    • Ramazan Emre İÇÖZ
      Ramazan Emre İÇÖZ Yanıtlandı Bende o konuda aydınlatıcı bir mesaj bekliyorum çünkü günlerdir bekliyorum… Haziran 19, 2022 at 8:45 am
    • EMREHAN ÖZYÜREK
      EMREHAN ÖZYÜREK Yanıtlandı Tarafıma dönüş sağlandı ve sorun çözüldü. Yaşamış olduğum sorun ile… Haziran 17, 2022 at 3:22 am
    #abap#sap #aspnetcore #dependencyinjection #aop #autofac #işarayışı #destek #javascript #angular12 #software #education #oyun #yazılım .net .net core 3des 100 daily ui free abap acid adesense adobe adviceslip aes ai airbnb akademi algoritma amazon android android-libraries android-smart-tv android achitecture andromo anijs animate.css anime.js animista ansible ant design api api gateway apple appsetting appsettings apps geyser app yet appy pie arduino argondesignsystem artifical intelligence artificial intelligence asimetrik şifreleme asp:net atom awesome screenshot & screen recorder aylıkgelir backgroundjob bakış açısı başarı bilgisayar bilişim birey blockchain blogger blueprint blush bootcamp borunv brave browser budibase buffer business analytics büyük veri c# altın kurlarını gösterme c# json İle veri Çekme c++ calculated columns canva cdn chakra ui class cobalt 2 codepen challenges coderbyte codewell coding ninjans colorpick eyedropper component convertio cookie coursera'dan veri bilimine giriş kursu css cssbattle css peeper cte cursor cybersecurity dapper data datamining data science with r by pluralsight dba db shading deeplearning delivery hero deney derin Öğrenme derin Öğrenme ve makine Öğrenimi des destek mühendisi developer değerlendirme değişim dijital göçebelik dijital ihracat dikey büyüme dikkat edilecekler dil eğitimi discord django dns docker double dracula official dyno bot döviz çevirici e-ticaret e-ticaret mağazası edabit edit editör educative elektrik elektronik empati engineer eninovatif50şirket entity framework core 5 environment variables erasmus etkinlik exception eğitim facebook face recognition fastai figma firebase firefox teması firewall flask float flutter flutterdeveloper fonksiyon fonts ninja framework free freecodecamp freeillustrations freelance front-end frontend frontend mentor fullstack fuul stack react game game developer gary hamel gateway geeksforgeeks geliştirici geliştirme gerçek zamanlı sohbet uygulaması getir geçikme girişim girişimcilik git github gitlab gittigidiyor gittigidiyor teknoloji akademisi go golang goodbarber google gsap gzip güvenlikduvarı hackerearth hackerrank hamburgers hangfire harvard data science course hash hava durumu raporu uygulaması hayat hobi home office hover.css html html5-semantic html mail gönderme http http bağlantısı kurma http durum kodları httpie http mesajları http yöntemleri hulu humaaans icongenarator icons 8 ieee spectrum ikaros partners image downloader inovasyon insider insomnia internet invision app ios ira design it iş iş analitiği işbulma iş fırsatı iş imkanı işimkanı işletme java javascript javascript30 jetpack js jservice js kütüphanleri kariyer fırsatı kategori yönetimi keras kestrel kevin murray kitaplık kişisel gelişim kişisel portfolyo kod kodlama komunite kotlin kriptoloji kullanımamaçları kute.js kültür kütüphane laravel laserwave latency leanback learn learncpp library liderlik lightbootstrapdashboard lime linkedin localstorage maaş machine learning machine learning a-z: hands-on python and r --- in data science magic effects mail send makine Öğrenimi makine Öğrenimi nasıl Çalışır? makine Öğrenimi nedir? makine Öğreniminin kullanımları makine Öğrenmesi makineöğrenimi manta manypixels mark text marvelcomicsapi maslow material ui merge sort microsoft microsoft sql server eğitimi cv İnceleme sonuçları mikro orm mikroservis mikroservisler mikroservis mimarisi mikroservis yönetimi mng kargo mo.js modelleme mongodb montaj motion ui mvc müzik oynatıcısı n11 nasaapi net5 netflix new features night owl nintendo nlp no-code nocode node.js node.js indir node.js kurulumu node.js nedir nodejs nodejs javascript frontend noktalı sayı not notusreact nrkdrk nuxtjs nvidia oci oh my zsh olacaklar ve öğrenilecekler one dark pro online eğitim siteleri outrun paaatterns pagedlist palenight pandas par-tİme parçalama pasif gelir paypal pgpool php phpmyadmin phpstorm phyton platformlar arası uygulama playstation podman popmotion posgresql parçalama postgresql postgresql cte posthog prerender prisma problem tanımı programlama programming proje pycharm python python ile veri bilimi pytorch querying razer rdp react react datepicker reactjslanding react native react navigation typescript reactopen reactreduction react select reactstrap recommender systems renova requests responsive rest api ripng rosetta stone rsa s3 salesforce sap scikit-learn scrapy screencat scrollreveal js search ui sentry seo sertifika serversiderender shades of purple shap shardsdashboardlites sibergüvenlik simetrik şifreleme simterik şifreleme single page application slack slackhq smooth ui snyk software software engineer sohbet geçmişi solid solid prensipleri sortable- hoc sorting spa spacex spagetti kod spotifyapi sql sqlite sql server sqlserver ssr staj staj iş arayışı stajyer startup stevejobs storybook stratejik yatırım struct sublime text supabase svg export swagger sınıflar ve yapılar arasındaki farklar sıralama sıralama algoritma sıralama algoritmaları t-sql tallyforms tasarım tdd tech tech-academy teknoloji temiz kod tensorflow the future of management three.js toptalent topwebsites tpt tph treehouse trendyol tsql typescript udacity'den veri bilimine giriş ui ui space undraw uniqid uplabs user secrets uuid ux uygulama uzaktan velocity.js vercel veri veri analizi veri bilimcisi olmak İster misiniz? veri bilimi az: gerçek hayat veri bilimi alıştırmaları dahil veri bilimi sertifikasyon eğitimi --- r programlama veri bilimi ve makine Öğrenimi için python eğitim kampı veri tabanı veritabanı veritabanıyöneticisi video vierbinding visual studio code vivus.js vizyon vmd vs code vue vue fundemental vue fundemental eğitimi vue router web webdev webinar web tarayıcı web tasarım whatsapp whirl winter is coming wordpress wrapkitreactliteuikit xai yabancı dil yapay genel zeka yapay zeka yapay zekanın tanımı yapay zekanın tarihi ve dönüm noktası yatırım yaz stajı yazılım yazılımcı yazılım ekibi yazılım fikri yazılım geliştirici yemeksepeti yenimezun yeni özellikler youtube youtube-dl yönetim yük testi zuckerberg Çalışma ortamı Çerezler Özellikler ÖĞrencİ Ücretsiz Ücretsiz eğitim Ücretsiz Eğitimler çalışma çekiliş ölçeklendirme önyüz tasarımı özgeçmiş İkaros&partners İletişim İş İlanı Şirket şifreleme şifre sıfırlama

    Popüler Kullanıcılar

    Yazılım Köyü

    Yazılım Köyü

    • 68 Paylaşımlar
    • 4k Puan
    İşinin Ehli
    Buse TURAN

    Buse TURAN

    • 36 Paylaşımlar
    • 2k Puan
    İşinin Ehli
    Serkan Koç

    Serkan Koç

    • 6 Paylaşımlar
    • 1k Puan
    İşinin Ehli
    Mustafa(Hüseyin) Sungur

    Mustafa(Hüseyin) Sungur

    • 42 Paylaşımlar
    • 1k Puan
    İşinin Ehli
    Sait ORHAN

    Sait ORHAN

    • 14 Paylaşımlar
    • 1k Puan
    İşinin Ehli

    Explore

    • Anasayfa
    • Etkinlikler & Eğitimler
    • Partnerler
    • Sponsorlar
    • Ekibimiz
    • Gruplar
    • Grup Ekle
    • Kategoriler
    • Tüm Paylaşımlar
      • Güncel Paylaşımlar
      • Trend Paylaşımlar
      • En Çok Tıklanan Paylaşımlar
    • Oylamalar
    • Etiketler
    • Rozetler
    • Tüm Kullanıcılar
    • Destek
    • İletişim

    Footer

    Yazılım Köyü; Türkiye’nin yazılım üretmek, ihraç etmek ve her yaştan kendini geliştirip meslek sahibi olmak isteyen insanları için kurulmuş bir sosyal sorumluluk projesidir.

    Paylaşımlar

    • Güncel Paylaşımlar
    • Trend Paylaşımlar
    • En Çok Tıklanan Paylaşımlar
    • Yanıtlanmayan Paylaşımlar

    Kurumsal

    • Blog
    • Partnerler
    • Sponsorlar
    • Ekibe Katıl
    • Hakkımızda
    • İletişim

    Yardım

    • Destek
    • Rozetler
    • Logolarımız
    • Kullanım Koşulları
    • Kişisel Verilerin Korunması
    • Aydınlatma Metni

    Sosyal Medya

    © 2021-2022 yazilimkoyu.org. Sosyal sorumluluk projesi. Bütün hakları saklıdır.