Sıralı küme algoritmaları, bir veri kümesindeki elemanları belirli bir kurala göre (genellikle artan veya azalan şekilde) düzenlemek için kullanılan yöntemlerdir. Bu algoritmalar, verileri daha kolay işlenebilir veya aranabilir hale getirir.
9. sınıf seviyesinde öğrenilen temel sıralama algoritmaları şunlardır:
Kabarcık sıralama algoritmasının adımları:
Matematiksel olarak, n elemanlı bir küme için en fazla \( \frac{n(n-1)}{2} \) karşılaştırma yapılır.
Hangi sıralama algoritmasının kullanılacağına karar verirken şunları göz önünde bulundurmalıyız:
Önemli: Küçük veri kümeleri için basit algoritmalar (kabarcık, seçmeli) yeterliyken, büyük veriler için daha verimli algoritmalar (hızlı sıralama, birleştirme sıralaması) tercih edilmelidir.
Soru 1: Bir veri kümesini küçükten büyüğe sıralamak için kullanılan "Kabarcık Sıralama (Bubble Sort)" algoritmasında, her geçişte en büyük elemanın sona yerleştiği bilinmektedir. 5 elemanlı bir dizinin tamamen sıralanabilmesi için en fazla kaç karşılaştırma işlemi yapılır?
a) 5
b) 10
c) 15
d) 20
e) 25
Cevap: b) 10
Çözüm: Kabarcık sıralamada karşılaştırma sayısı formülü \( \frac{n(n-1)}{2} \)'dir. \( n=5 \) için \( \frac{5×4}{2} = 10 \) karşılaştırma gerekir.
Soru 2: Aşağıdaki sıralı küme algoritmalarından hangisi "böl ve yönet" stratejisi kullanır ve ortalama \( O(n \log n) \) zaman karmaşıklığına sahiptir?
a) Kabarcık Sıralama
b) Seçmeli Sıralama
c) Birleştirmeli Sıralama
d) Eklemeli Sıralama
e) Tarak Sıralama
Cevap: c) Birleştirmeli Sıralama
Çözüm: Birleştirmeli Sıralama (Merge Sort), diziyi rekürsif olarak ikiye böler, sıralar ve birleştirir. Bu nedenle \( O(n \log n) \) karmaşıklığına sahiptir.
Soru 3: [7, 3, 9, 2, 5] dizisinin "Seçmeli Sıralama (Selection Sort)" algoritmasıyla ilk iki adımı sonucunda oluşan dizi aşağıdakilerden hangisidir?
a) [2, 3, 9, 7, 5]
b) [2, 3, 5, 7, 9]
c) [3, 7, 9, 2, 5]
d) [2, 7, 9, 3, 5]
e) [3, 2, 5, 7, 9]
Cevap: a) [2, 3, 9, 7, 5]
Çözüm: İlk adımda en küçük eleman (2) başa alınır: [2, 3, 9, 7, 5]. İkinci adımda kalan dizideki en küçük eleman (3) ikinci sıraya yerleşir ve dizi değişmez.
1. Sıralı küme algoritmalarından biri olan _____, elemanları küçükten büyüğe doğru sıralar.
2. _____ algoritması, bir diziyi ikiye bölerek sıralama yapar.
3. Sıralı küme algoritmalarında performansı etkileyen faktörlerden biri _____ karmaşıklığıdır.
1. _____ - En yavaş sıralama algoritmalarından biridir.
2. _____ - "Divide and Conquer" yaklaşımını kullanır.
3. _____ - Pivot eleman seçimi önemlidir.
1. _____ Sıralı küme algoritmaları sadece sayısal veriler üzerinde çalışır.
2. _____ Birleştirme Sıralama algoritmasının zaman karmaşıklığı \(O(n \log n)\)'dir.
3. _____ Hızlı Sıralama algoritması en kötü durumda \(O(n^2)\) zaman alır.
1. Sıralı küme algoritmalarının avantajlarından üçünü yazınız.
2. Kabarcık Sıralama algoritmasının çalışma mantığını kısaca açıklayınız.
1. Aşağıdakilerden hangisi sıralı küme algoritması değildir?
a) Kabarcık Sıralama
b) Doğrusal Arama
c) Hızlı Sıralama
d) Birleştirme Sıralama
2. \(O(n^2)\) zaman karmaşıklığına sahip olan algoritma hangisidir?
a) Birleştirme Sıralama
b) Hızlı Sıralama
c) Kabarcık Sıralama
d) Hiçbiri
Cevaplar:
1: 1. Kabarcık Sıralama, 2. Birleştirme Sıralama, 3. Zaman
2: 1. A, 2. B, 3. C
3: 1. Yanlış, 2. Doğru, 3. Doğru
4: 1. (Öğrenci cevabı), 2. (Öğrenci cevabı)
5: 1. b, 2. c