敲了很久- -,最後debug時發現是迴圈變數少計算了一位。結果就變得難看了。
快速排序的一般效能是o(nlogn),最差是o(n^2).避免最差情況是採用隨機化快排;「隨機化快排可以滿足乙個人一輩子的人品需求」。
這個mit關於本節的公開課,值得一看。
按照演算法寫了下c程式:
#includeusing namespace std;
void exchange(int *a,int *b)
int partition(int a,int p,int r)
int main()
{ int a[100];
int i,n,ff;
cin>>n;
for(i=0;i>a[i];
quicksort(a,0,n-1);
for(i=0;i
算導4(8皇后 回溯問題)
solve the 8 queenproblem using back trackingalgorithm.解題思路 這道題目可以使用回溯演算法。這種方法的思想是 為了求得問題的解,先選擇某一種可能情況向前探索,如果發現是錯誤的,則退回一步重新選擇,繼續向前探索,如此反覆進行,直至得到解或者證明無解...
算導2 4 逆序對問題
問題 假設a 1.n 是乙個有n個不同數的陣列。若i j 且a i a j 則對偶 i,j 成為a的乙個逆序對 inversion d.給出乙個確定在n個元素的任何排列中逆序對數量的演算法,最壞情況需要o nlgn 時間。思路 由歸併排序演算法的思想可以知道,兩個子串行l i 和r j 歸併前各自有...
快速排序(Quicksort)學習筆記
看完鄧俊輝的 資料結構 第三版 中快速排序後的學習總結 一.快速排序 quicksort 基於分治策略的又一經典演算法。類似於歸併排序 mergesort 將序列分為前後兩個子串行,並對這兩個規模更小的子串行進行遞迴。quicksort和mergesort都採用了分治策略。但quicksort要求前...