學習內容:
①演算法(尤其是遞迴演算法)複雜度的計算方法
②證明演算法正確性的三個步驟 //雖然我沒有怎麼弄清楚
③幾個排序演算法的實現與比較
**:
插入排序:
#include using namespace std;
int a[6] = ;
int main()
a[i+1] = key; //此時a[i]為第乙個不比key大的元素
} for(i=0; i<6; ++i)
cout《插入排序(遞迴):
#include #include using namespace std;
int a[6] = ;
void insertsort(int cur)
int main()
;int main()
;void merge(int left, int mid, int right)
{ int l[mid-left+2];
int r[right-mid+1]; //待歸併的兩個陣列
l[mid-left+1] = int_max;
r[right-mid] = int_max; //將陣列末項置為int型最大值
int i,j,k;
for(i=0; i其它:
在求遞迴時間複雜度時,回憶起t1 = 1,tn+1 =
2tn +n
(n>=2)
下tn的求法...
未解決問題:
2-1
演算法導論第2章 演算法基礎
2.1 插入排序 includeusing namespace std void insertion sort int a,int n 宣告 void print int a,int n void insertion sort int a,int n a i 1 key void print int...
《演算法導論》第2章 演算法基礎 個人筆記
insertion sort a for j 2 to a.length key a j i j 1 while i 0 anda i key a i 1 a i i a i 1 key 在insertion sort中,若輸入陣列已排好序,則出現最佳情況,t n n 若輸入陣列已反向排序,則導致最...
《演算法導論》筆記 第2章
本章出現了全書第乙個演算法 插入排序。插入排序並不是最直觀的排序演算法,拿它做第乙個講解應該有其他的理由。通過插入排序的講解,偽 約定 迴圈不變式 演算法分析等最基礎的知識被帶了出來。此後又講了第二個演算法 合併排序,並引出了演算法設計中的兩種常見型別 增量法 incremental 和分治法 di...