24 Mart 2016 Perşembe

Recursive, Nonrecursive, Selection Quick-Sort

Bu yazımda Quick Sort’un kodlamasından bahsedeceğim. Quick – Sort’un en kötü çalışma zamanı n^2’dir. Ortalama çalışma süresi n*lg(n)’dir.Quick sort algoritması aşağıdaki gibidir.

QUICKSORT(A,p,r)

  1. if p < r
  2. then q PARTITION(A,p,r)
  3. QUICKSORT(A,p,q)
  4. QUICKSORT(A,q + 1,r)

PARTITION(A,p,r)
x A[p]
i p - 1
j r + 1
while TRUE
do repeat j j - 1
until A[j] x
repeat i i + 1
until A[i] x
if i < j
then exchange A[i] A[j]
else return j

Aşağıda Quick-Sort algoritmasını daha eğlenceli hale getiren bir video bulunmaktadır :)


Bu bölümde toplam 3 adet kod parçası bulunmaktadır. İlk kod Quick – Sort’un Recursive yazılmış halidir. İkinci kod ise Quick-Sort’un Recursive olamayan halidir. Son kod ise bir arrayin tamamını sıralamadan, eğer sıralansaydı n. elemanın ne olacağını bulan Quick-Sort Selection kodudur.