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);
}


6 yıl 5 ay önce eklendi

Seferi namazı nasıl kılınır? Dünyanın ortası neresidir? 2018 Babalar Günü ne zaman Öğretmen ile ilgili şiirler Yıldırım Bayezid Dönemi (1389-1402) İkametgah belgesi Türkiye nüfusunun demografik yapısının yıllara göre değişimi Windows 7/8'de Task Bar'a Bilgisayarım/Çöp Kutusu kısayolu nasıl eklenir? Siyaset Felsefesi Tarih Öncesi Çağlar Kitap Okumanın Faydaları, Kitap Okumanın Yararları Nelerdir? Oryantal yağlı boya resimler Ailemize karşı görevlerimiz nelerdir MySQL ile ilgili birkaç yararlı komut Element nedir Aslanlar Hakkında Genel Bilgi 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