🎓 Bounlu tarafından hazırlandı
29.792 görüntülenme

Quicksort Algoritması Nedir?

Quicksort, bilgisayar bilimlerinde en sık kullanılan sıralama algoritmalarından biridir. Böl ve yönet (divide and conquer) stratejisini temel alır ve genellikle yüksek performansıyla bilinir.

Kısa cevap

Quicksort, bir diziyi rastgele seçilen bir 'pivot' elemana göre alt dizilere ayırarak ve bu alt dizileri özyinelemeli olarak sıralayarak çalışan bir karşılaştırma tabanlı sıralama algoritmasıdır.

01

Adım adım çözümlü örnekler

Quicksort Algoritması Adımları

1. Bir pivot eleman seçilir (genellikle dizinin son elemanı veya rastgele bir eleman).2. Dizi, pivot elemandan küçük elemanlar sol tarafa, büyük elemanlar sağ tarafa gelecek şekilde yeniden düzenlenir (partitioning). Pivot eleman doğru konumu bulur.3. Pivot elemanın solundaki ve sağındaki alt diziler için Quicksort özyinelemeli olarak çağrılır.4. Alt diziler tek elemanlı hale gelene kadar bu işlem devam eder.

Örnek Dizi: [10, 7, 8, 9, 1, 5]

1. Pivot seçimi: 52. Partitioning: [1, 5, 8, 9, 7, 10] (5 kendi doğru yerine geldi)3. Sol alt dizi: [1] -> sıralı4. Sağ alt dizi: [8, 9, 7, 10] için Quicksort çağrılır.   - Pivot seçimi: 10   - Partitioning: [8, 9, 7, 10] -> [8, 9, 7, 10] (10 kendi yerine geldi)   - Sol alt dizi: [8, 9, 7] için Quicksort çağrılır.     - Pivot seçimi: 7     - Partitioning: [7, 8, 9]     - Sonuç: [1, 5, 7, 8, 9, 10]
02

Bilgi kartları

03

Mini test

S1.Aşağıdakilerden hangisi Quicksort'un bir adımı DEĞİLDİR?

Doğru cevap: C. Quicksort, Merge Sort gibi alt dizileri birleştirme adımına sahip değildir; sıralama bölümleme sırasında gerçekleşir.

S2.Quicksort algoritması için en uygun zaman karmaşıklığı nedir?

Doğru cevap: B. Quicksort'un ortalama ve en iyi durum zaman karmaşıklığı O(n log n)'dir.

S3.Quicksort'un O(n^2) zaman karmaşıklığına sahip olduğu durum aşağıdakilerden hangisidir?

Doğru cevap: A. Eğer dizi zaten sıralıysa veya ters sıralıysa ve pivot seçimi her zaman dizinin başı veya sonu olursa, bölümleme dengesiz olur ve algoritmalar O(n^2)'ye düşer.
📄Bu konuyu PDF çalışma kağıdı olarak indirKonu özeti + 10 soru + cevap anahtarı — sınıfta paylaş, yazdır.
04

Sık yapılan hatalar

Quicksort, alt dizileri birleştirerek çalışır.Doğrusu: Quicksort, alt dizileri sıralama işlemi sırasında (partitioning ile) kendi kendine düzenler ve birleştirme adımına ihtiyaç duymaz.

Quicksort her zaman O(n log n) karmaşıklığa sahiptir.Doğrusu: Quicksort'un en kötü durum karmaşıklığı O(n^2)'dir, bu durum özellikle pivot seçiminin kötü yapıldığı senaryolarda ortaya çıkar.

05

Sıkça sorulan sorular

Quicksort neden bu kadar popüler?

Genellikle pratikte çok hızlı olması, yerinde sıralama yapabilmesi (ekstra bellek ihtiyacının az olması) ve anlaşılır bir algoritma olması nedeniyle tercih edilir.

Pivot seçimi için en iyi yöntem nedir?

Genellikle 'median of three' (üç elemanın ortancasını seçme) veya rastgele pivot seçimi gibi yöntemler, en kötü durum senaryolarının olasılığını azaltarak performansı artırır.

Quicksort hangi durumlarda önerilmez?

Eğer sıralamanın kararlı (stable) olması gerekiyorsa (eşit elemanların göreceli sırasının korunması) veya en kötü durum performansından kesinlikle kaçınılması gerekiyorsa, QuickSort yerine Merge Sort gibi algoritmalar tercih edilebilir.

İlgili konular