Video: Quick Sort (Hızlı Sıralama Algoritması) Veri Yapıları 13 2024
Java'da en çok kullanılan sıralama tekniklerinden birine Quicksort tekniği denir. Özyineleme ile başa çıkmanın harika bir yoludur. Bir Quicksort yordamını çalıştıran gerçek kod şaşırtıcı derecede basit:
public static void sort (int düşük, yüksek int) {if (düşük> = yüksek) dönüş; int p = bölme (düşük, yüksek); sıralama (düşük, p); sort (p + 1, high);}
Bu yöntem, dizinin alt ve üst dizin değerleriyle gösterilen bölümünü sıralar. Şimdilik if ifadesini yok sayarak sort yöntemi, bir bölüm yöntemi çağırarak çalışır. Bu yöntem, diziyi iki bölüme ayırır, böylece sol bölmedeki tüm değerler doğru bölgedeki tüm değerlerden daha küçük olur.
Bölüm yöntemi soldaki bölümün sonundaki dizini döndürür. Sonra sort yöntemi kendisini iki kez çağırır: bir kez sol bölmeyi sıralamak ve tekrar doğru bölümü sıralamak.
Sıralama yöntemini başlatmak için, düşük değer olarak 0 ve dizi uzunluğu ve 1'i yüksek değer olarak çağırırsınız. Böylece sıralama yöntemi, dizinin tamamını sıralamayla başlar. Sıralama yöntemi her çalıştırıldığında, dizinin küçük bölümlerini sıralamak için kendini iki kez çağırır.
sort yönteminin başındaki if ifadesi, düşük değeri yüksek değerle karşılaştırır. Düşük değer yüksek değere eşitse veya büyükse, bölümün yalnızca bir öğesi (veya belki de öğeleri yoktur) bulunur ve bu nedenle zaten sıralanmış. Bu durumda, sıralama yöntemi kendisini tekrar aramadan döner. Tekrarlamayı sona erdiren şart budur.