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

'Quick Sort (Hızlı Sıralama) Algoritması' ile ilgili içerikler

Makarna (Spagetti) Yiyen Düşünürler Problemi
Makarna (Spagetti) Yiyen Düşünürler Problemi
C / C++ Matris Çarpma Kodu ve Basit Hızlandırma Teknikleri
C / C++ Matris Çarpma Kodu ve Basit Hızlandırma Teknikleri
Paralel Matris Çarpma Kodu: Bilgisayarınız için basit bir performans testi
Paralel Matris Çarpma Kodu: Bilgisayarınız için basit bir performans testi