演算法導論 之 快速排序 C語言

2021-08-27 09:12:11 字數 770 閱讀 5500

快速排序的時間複雜度為o(n^2),但其通常是用於排序的最佳的使用選擇,這是因為其平均效能相當好:期望的執行時間為o(nlgn)。其實現的演算法如下:

int quick_sort(int *array, int low, int high)

return 0;

}

int partition(int *array, int low, int high)

array[low] = array[high];

left++;

while((array[low]<=array[0]) && (high>low))

array[high] = array[low];

right--;

} array[low] = array[0];

return low;

}

void print(int *array, int low, int high)

, str[128] = ;

while(idx <= max)

fprintf(stdout, "%s\n", msg);

}

int main(void)

; quick_sort(array, 1, 10);

print(array, 1, 10);

return 0;

}

演算法導論之快速排序

def partition a,p,r x a r 錨點 主元 i p 1 for j in range p,r if a j x i 1a i a j a j a i a i 1 a r a r a i 1 return i 1 defquicksort a,p,r if p r 分治 q par...

演算法導論之快速排序

1 2 author justinzhang3 email uestczhangchao gmail.com4 time 2011年5月11日15 58 405 discription 演算法導論第7章,快速排序演算法實現6 change the previous c to cpp,and usin...

快速排序 演算法導論

對於包含n個數的輸入陣列來說,快速排序是一種最壞情況時間複雜度為o n 的排序演算法。雖然最壞情況時間的複雜度很差,但是快速排序通常是實際排序應用中最好的選擇,因為它的平均效能非常好 它的期望時間複雜度是o nlgn 而且o nlgn 中隱含的常數因子非常小,另外,它還能夠進行原址排序,甚至在虛存環...