Its average-case running time is O(nlog n). Quicksort's performance degrades as the input list becomes more ordered. The worst-case input, a sorted list, causes it to run in O(n^{2})
Pseudocode
Quicksort(A as array, low as int, high as int){ if (low < high){ pivot_location = Partition(A,low,high) Quicksort(A,low, pivot_location - 1) Quicksort(A, pivot_location + 1, high) } } Partition(A as array, low as int, high as int){ pivot = A[low] leftwall = low for i = low + 1 to high{ if (A[i] < pivot) then{ leftwall = leftwall + 1 swap(A[i], A[leftwall]) } } swap(A[low],A[leftwall]) return (leftwall)}
0 comments:
Post a Comment