Quick Sort (Hızlı Sıralama) Algoritması

Quick Sort (Hızlı Sıralama) Algoritması

Karışık bir diziyi ortalama O(n.logn) çalışma süresinde sıralayan bu algoritma, 1960 yılında küçük bir İngiliz şirketi olan Elliot Brothers'ta çalışan C. A. R. Hoare tarafından geliştirilmiştir. Basitleştirilmiş kodu aşağıya ekledim.

NOT: Örneğin, kodun daha hızlı çalışması için

left - right < 32

olduğunda, daha kısa sürede sıralayan başka bir algoritmadan yararlanılabilir.

void quickSort(int arr[], int left, int right)
{
   int i = left, j = right;
   int tmp;
   int pivot = arr[(left + right) / 2];

   while (i <= j) {
     while (arr[i] < pivot)
       i++;
     while (arr[j] > pivot)
       j--;
     if (i <= j) {
       tmp = arr[i];
       arr[i] = arr[j];
       arr[j] = tmp;
       i++;
       j--;
     }
   };

   if (left < j)
     quickSort(arr, left, j);
   if (i < right)
     quickSort(arr, i, right);
}


7 yıl 4 ay önce eklendi

Hz Muhammed'in doğum tarihi Küresel ısınma karşısında alınabilecek önlemler Belene: Ölüm tarlası! Seni Seviyorum Şiirleri Orhan Bey Dönemi (1324-1362) Vukuatlı nüfus kayıt örneği Talep Tahmin Yöntemleri Dejavu nedir, Dejavu nasıl oluşur? Ahlak Felsefesi (Etik) Dünyada en çok tanınan 15 ünlü Ateist Dilin İnsan ve Toplum Hayatındaki Yeri ve Önemi Sanat Çeşitleri, Zanaat Çeşitleri Evdeki Karıncalardan Kurtulma Yolları Mitozun Evreleri, Mitoz bölünme evreleri nelerdir? Site Nasıl Kurulur? Naim Süleyman oğlu kimdir, hayatı, biyografisi, rekorları Paralel Matris Çarpma Kodu: Bilgisayarınız için basit bir performans testi Köpekler Çikolata Yerse Neden Ölür? Quick Sort (Hızlı Sıralama) Algoritması Open CV (computer vision) kütüphanesini kullanarak yüz tanıma kodu örneği
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28