Algoritma ve Programlamaya Giriş Ünite -7 (Güz) : Arama ve Sıralama Algoritmaları
Arama Algoritmaları
Arama algoritmaları, bir veri kümesi (genellikle bir dizi) içinde belirli bir elemanın bulunup bulunmadığını ve eğer bulunuyorsa yerini tespit etmek için kullanılır.
Sıralama Algoritmaları
Sıralama algoritmaları, bir veri kümesindeki elemanları belirli bir düzene (genellikle artan veya azalan) göre yeniden düzenler. Farklı çalışma mantıklarına ve performanslara sahiptirler.
10 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Aşağıdakilerden hangisi kullanılan bir arama algoritmasıdır?
BDoğru cevap
Açıklama
Bu ünitede ele alınan iki temel arama algoritması “Doğrusal Arama (Linear Search)” ve “İkili Arama (Binary Search)”dır.
Soru 2
Doğrusal arama algoritması ile bir dizi içerisinde bir eleman aranmaktadır. Bu arama işlemi ile ilgili olarak aşağıdakilerden hangisi yanlıştır?
EDoğru cevap
Açıklama
Doğrusal arama (Linear Search), dizideki elemanları baştan sona tek tek kontrol eder. Bu işlem için iç içe iki döngüye değil, sadece tek bir döngüye ihtiyaç vardır. Bu nedenle E şıkkı yanlıştır.
Soru 3
Aşağıdakilerden hangisi karşılaştırma temelli olarak çalışan bir sıralama algoritmasıdır?
DDoğru cevap
Açıklama
Metinde sıralama algoritmaları iki grupta incelenmiştir: “Karşılaştırma Temelli Algoritmalar” (Kabarcık Sıralaması, Yerleştirmeli Sıralama) ve “Böl ve Fethet Temelli Algoritmalar” (Hızlı Sıralama, Birleştirmeli Sıralama).
Soru 4
Aşağıdakilerden hangi algoritmalarda işlem yapmanın zaman karmaşıklığı O(n²) ile ifade edilir?
BDoğru cevap
Açıklama
Metne göre “Kabarcık sıralamasının zaman karmaşıklığı O(n²)” ve “Yerleştirmeli sıralamanın zaman karmaşıklığı… tamamen sırasız bir yapıdaysa O(n²)” olarak ifade edilmiştir. Hızlı sıralama ve Birleştirmeli sıralama ise O(n log n) karmaşıklığındadır.
Soru 5
Aşağıdaki algoritmalardan hangisinde sıralama yaparken bir pivot eleman seçilir?
DDoğru cevap
Açıklama
Hızlı Sıralama (Quick Sort) algoritması, “böl ve fethet” mantığını uygularken diziyi ikiye ayırmak için bir pivot eleman seçer ve diğer elemanları bu pivot elemana göre gruplar.
Soru 6
Hızlı sıralama algoritması ile ilgili olarak aşağıdakilerden hangisi doğrudur?
EDoğru cevap
Açıklama
Metne göre Hızlı Sıralama; “böl ve fethet” mantığına dayanır (A doğru), bir “pivot eleman” seçer (B doğru), zaman karmaşıklığı O(n log n)’dir (C doğru) ve “özyinelemeli (recursive) olarak çözülür” (D doğru). Dolayısıyla tüm ifadeler doğrudur.
Soru 7
İkili arama algoritmasının ön şartı nedir?
DDoğru cevap
Açıklama
İkili Arama (Binary Search) algoritması, diziyi ortadan ikiye bölerek çalıştığı için, bu işlemin anlamlı olabilmesinin tek ön şartı dizinin sıralanmış (sorted) olmasıdır.
Soru 8
Böl ve fethet algoritmaları ile ilgili hangisi yanlıştır?
CDoğru cevap
Açıklama
“Böl ve fethet” mantığının temeli, ana problemi çözülebilir en küçük parçalara (alt problemlere) ayırmak ve bu parçaları çözüp sonra birleştirmektir. İşlem “tek seferde” yapılmaz, özyinelemeli olarak bölünerek yapılır. Bu nedenle C şıkkı yanlıştır.
Soru 9
Aşağıdaki dizide bulunan elemanlar kabarcık sıralama algoritması kullanılarak küçükten büyüğe sıralanmak isteniyor. İlk aşamada, tüm dizi elemanlarının birbiri ile karşılaştırılması sonucu elde edilen sıralama cevap şıklarının hangisinde doğru verilmiştir?
6 2 5 3 9
Aşağıdaki sıralama algoritmaları birbiri ile karşılaştırıldığında hangisi daha hızlıdır?
BDoğru cevap
Açıklama
Tablo 10’a göre Kabuk, Seçmeli, Kabarcık ve Yerleştirmeli sıralamaların hepsi O(n²) (Kuadratik) zaman karmaşıklığına sahiptir. Birleştirmeli sıralama ise O(n log n) karmaşıklığına sahiptir. O(n log n), O(n²)’den daha hızlı (daha yüksek performanslı) olduğu için cevap B’dir.