Azərbaycanca AzərbaycancaDeutsch Deutsch日本語 日本語Lietuvos Lietuvosසිංහල සිංහලTürkçe TürkçeУкраїнська УкраїнськаUnited State United State
Destek
www.wikipedia.tr-tr.nina.az
  • Vikipedi

Seçmeli Sıralama bilgisayar bilimlerinde kullanılan bir sıralama algoritmasıdır Karmaşıklığı O n2 displaystyle mathcal O

Seçmeli Sıralama

Seçmeli Sıralama
www.wikipedia.tr-tr.nina.azhttps://www.wikipedia.tr-tr.nina.az
TikTok Jeton Satışı

Seçmeli Sıralama, bilgisayar bilimlerinde kullanılan bir sıralama algoritmasıdır. Karmaşıklığı O(n2){\displaystyle {\mathcal {O}}(n^{2})}{\displaystyle {\mathcal {O}}(n^{2})} olduğu için büyük listeler üzerinde kullanıldığında verim sağlamaz ve genel olarak benzeri olan eklemeli sıralamadan daha başarısızdır. Seçmeli sıralama yalın olduğu ve bazı durumlarda daha karmaşık olan algoritmalardan daha iyi sonuç verdiği için tercih edilebilir.

Seçmeli sıralama
image
Seçmeli sıralama algoritması
SınıfSıralama algoritması
Veri yapısıDizi
Zaman karmaşıklığıO(n²)
En iyiGenellikle değil
Alan karmaşıklığıtoplamda О(n), ek alan O(1)
image
Seçmeli Sıralama'nın nasıl çalıştığını gösteren görüntü

Yöntem

Algoritma aşağıdaki gibi çalışır:

  1. Listedeki en küçük değerli öğeyi bul.
  2. İlk konumdaki öğeyle bulunan en küçük değerli öğenin yerini değiştir.
  3. Yukarıdaki adımları listenin ilk elemanından sonrası için (ikinci elemandan başlayarak) yinele.

Sözde Kodu

A sıralanacak öğeler kümesi, n ise A'daki öğe sayısıdır. Dizi 0 numaralı dizinle başlamaktadır.

for i ← 0 to n-2 do  min ← i  for j ← (i + 1) to n-1 do  if A[j] < A[min]  min ← j  swap A[i] and A[min] 

Seçmeli Sıralama Algoritmasının Örnek Kodu

int enkucuk, yedek; for (int i = 0; i < dizi.Length-1; i++) {  enkucuk = i;  for (int j = i+1; j < dizi.Length; j++)  {  if (dizi[j]<dizi[enkucuk])  {  enkucuk = j;  }  }   if (enkucuk != i)  {  yedek = dizi[i];  dizi[i] = dizi[enkucuk];  dizi[enkucuk] = yedek;  }  } 
public int[] secmeliSiralama(int[] dizi) {  int enkucuk, yedek;  for (int i = 0; i < dizi.Length - 1; i++)  {  enkucuk = i;  for (int j = i + 1; j < dizi.Length; j++)  if (dizi[j] < dizi[enkucuk])  enkucuk = j;  if (enkucuk != i)  {  yedek = dizi[i];  dizi[i] = dizi[enkucuk];  dizi[enkucuk] = yedek;  }  }  return dizi; } 

Karmaşıklık Hesabı

Seçmeli sıralama algoritmasının zaman karmaşıklığı hesaplanırken, yapılan karşılaştırmalar ve yer değiştirmeler dikkate alınır. Seçmeli sıralama algoritması n{\textstyle n}image elemanlı bir listede, en küçük eleman için n−1{\textstyle n-1}image tane karşılaştırma yapar, ikinci en küçük eleman için n−2{\textstyle n-2}image tane karşılaştırma yapar, diğer elemanlar için karşılaştırma sayısı n−3{\textstyle n-3}image, n−4{\textstyle n-4}image, ..., 2, 1, 0 şeklinde azalarak devam eder. Listedeki bütün elemanlar için yapılan karşılaştırmaların toplamı

(n−1)+(n−2)+(n−3)+(n−4)+...+2+1+0=n(n−1)/2{\displaystyle (n-1)+(n-2)+(n-3)+(n-4)+...+2+1+0=n(n-1)/2}imageyapar.

Her bir eleman için bir kez yer değiştirme yapılır, tüm liste için toplam n{\textstyle n}image tane yer değiştirme işlemi yapılır. Hesaplamalar sonucunda elde edilen

n+n(n−1)/2{\displaystyle n+n(n-1)/2}imagedeğerlerinin asimptotik üst sınırı O(n2){\textstyle O(n^{2})}image değerini verir. Seçmeli sıralama algoritması listenin en küçük elemanının nerede olduğunu bilmediği ve her bir eleman için tüm elemanlarla karşılaştırma yaptığı için liste içindeki elemanların rastgele sıralanmış ya da eşit elemanlardan oluşmasını dikkate almaz, bu sebeple seçmeli sıralama algoritması her durumda O(n2){\textstyle O(n^{2})}image karmaşıklığıyla çalışır.

image
Yukarıdaki şekil, 6 elemanlı içeriği karışık olarak verilmiş bir bir sayı dizisinin Seçmeli Sıralama algoritması kullanılarak nasıl küçükten-büyüğe doğru sıralandığını göstermektedir. 1. adımda dizinin ilk elemanı (6) alınır. Bu eleman diğer 5 eleman ile karşılaştırılır. Eğer bulunan eleman(1) ilk elemandan küçükse 1.elman ile yer değiştirilir. 2. adımda dizinin ikinci elemanı(3) alınır. Bu eleman kalan 4 eleman ile karşılaştırılır. Eğer bulunan eleman(2) ikinci elemandan küçükse 2. eleman ile yer değiştirilir ve bu işlem dizi sonuna kadar devam eder. Böylelikle dizi küçükten-büyüğe sıralanmış olur.

Diğer Sıralama Algoritmaları

  • Hızlı Sıralama
  • Birleştirmeli Sıralama
  • Kabarcık Sıralaması
  • Kokteyl Sıralaması
  • Tarak Sıralaması

Kaynakça

  1. ^ Robert Sedgewick, Kevin Wayne, Algorithms 4th Edition, Addison-Wesley 2011 (chapter 2 p. 248)

Dış bağlantılar

  • Selection Sort Demo7 Mart 2008 tarihinde Wayback Machine sitesinde .
  • Selection Sort Demo[]
  • Pointers to
  • C++ Program - Selection Sort 12 Mart 2008 tarihinde Wayback Machine sitesinde .

wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar

Secmeli Siralama bilgisayar bilimlerinde kullanilan bir siralama algoritmasidir Karmasikligi O n2 displaystyle mathcal O n 2 oldugu icin buyuk listeler uzerinde kullanildiginda verim saglamaz ve genel olarak benzeri olan eklemeli siralamadan daha basarisizdir Secmeli siralama yalin oldugu ve bazi durumlarda daha karmasik olan algoritmalardan daha iyi sonuc verdigi icin tercih edilebilir Secmeli siralamaSecmeli siralama algoritmasiSinifSiralama algoritmasiVeri yapisiDiziZaman karmasikligiO n En iyiGenellikle degilAlan karmasikligitoplamda O n ek alan O 1 Secmeli Siralama nin nasil calistigini gosteren goruntuYontemAlgoritma asagidaki gibi calisir Listedeki en kucuk degerli ogeyi bul Ilk konumdaki ogeyle bulunan en kucuk degerli ogenin yerini degistir Yukaridaki adimlari listenin ilk elemanindan sonrasi icin ikinci elemandan baslayarak yinele Sozde Kodu A siralanacak ogeler kumesi n ise A daki oge sayisidir Dizi 0 numarali dizinle baslamaktadir for i 0 to n 2 do min i for j i 1 to n 1 do if A j lt A min min j swap A i and A min Secmeli Siralama Algoritmasinin Ornek Koduint enkucuk yedek for int i 0 i lt dizi Length 1 i enkucuk i for int j i 1 j lt dizi Length j if dizi j lt dizi enkucuk enkucuk j if enkucuk i yedek dizi i dizi i dizi enkucuk dizi enkucuk yedek public int secmeliSiralama int dizi int enkucuk yedek for int i 0 i lt dizi Length 1 i enkucuk i for int j i 1 j lt dizi Length j if dizi j lt dizi enkucuk enkucuk j if enkucuk i yedek dizi i dizi i dizi enkucuk dizi enkucuk yedek return dizi Karmasiklik HesabiSecmeli siralama algoritmasinin zaman karmasikligi hesaplanirken yapilan karsilastirmalar ve yer degistirmeler dikkate alinir Secmeli siralama algoritmasi n textstyle n elemanli bir listede en kucuk eleman icin n 1 textstyle n 1 tane karsilastirma yapar ikinci en kucuk eleman icin n 2 textstyle n 2 tane karsilastirma yapar diger elemanlar icin karsilastirma sayisi n 3 textstyle n 3 n 4 textstyle n 4 2 1 0 seklinde azalarak devam eder Listedeki butun elemanlar icin yapilan karsilastirmalarin toplami n 1 n 2 n 3 n 4 2 1 0 n n 1 2 displaystyle n 1 n 2 n 3 n 4 2 1 0 n n 1 2 yapar Her bir eleman icin bir kez yer degistirme yapilir tum liste icin toplam n textstyle n tane yer degistirme islemi yapilir Hesaplamalar sonucunda elde edilen n n n 1 2 displaystyle n n n 1 2 degerlerinin asimptotik ust siniri O n2 textstyle O n 2 degerini verir Secmeli siralama algoritmasi listenin en kucuk elemaninin nerede oldugunu bilmedigi ve her bir eleman icin tum elemanlarla karsilastirma yaptigi icin liste icindeki elemanlarin rastgele siralanmis ya da esit elemanlardan olusmasini dikkate almaz bu sebeple secmeli siralama algoritmasi her durumda O n2 textstyle O n 2 karmasikligiyla calisir Yukaridaki sekil 6 elemanli icerigi karisik olarak verilmis bir bir sayi dizisinin Secmeli Siralama algoritmasi kullanilarak nasil kucukten buyuge dogru siralandigini gostermektedir 1 adimda dizinin ilk elemani 6 alinir Bu eleman diger 5 eleman ile karsilastirilir Eger bulunan eleman 1 ilk elemandan kucukse 1 elman ile yer degistirilir 2 adimda dizinin ikinci elemani 3 alinir Bu eleman kalan 4 eleman ile karsilastirilir Eger bulunan eleman 2 ikinci elemandan kucukse 2 eleman ile yer degistirilir ve bu islem dizi sonuna kadar devam eder Boylelikle dizi kucukten buyuge siralanmis olur Diger Siralama AlgoritmalariHizli Siralama Birlestirmeli Siralama Kabarcik Siralamasi Kokteyl Siralamasi Tarak SiralamasiKaynakca Robert Sedgewick Kevin Wayne Algorithms 4th Edition Addison Wesley 2011 chapter 2 p 248 Dis baglantilarSelection Sort Demo7 Mart 2008 tarihinde Wayback Machine sitesinde Selection Sort Demo olu kirik baglanti Pointers to C Program Selection Sort12 Mart 2008 tarihinde Wayback Machine sitesinde

Yayın tarihi: Temmuz 14, 2024, 01:44 am
En çok okunan
  • Şubat 01, 2026

    Lavacquerie

  • Ocak 31, 2026

    Laurentino

  • Ocak 31, 2026

    Lauro Müller, Santa Catarina

  • Şubat 06, 2026

    Lauda (havayolu şirketi)

  • Şubat 01, 2026

    Lattainville

Günlük
  • Oganesson

  • Radyoaktivite

  • İzotop

  • Uluslararası Temel ve Uygulamalı Kimya Birliği

  • Futbol

  • Emirates Cup

  • SL Benfica

  • 1835

  • 1970

  • Kurt Cobain

NiNa.Az - Stüdyo

  • Vikipedi

Bültene üye ol

Mail listemize abone olarak bizden her zaman en son haberleri alacaksınız.
Temasta ol
Bize Ulaşın
DMCA Sitemap Feeds
© 2019 nina.az - Her hakkı saklıdır.
Telif hakkı: Dadaş Mammedov
Üst