《演算法導論》第2章 演算法基礎

2021-08-15 13:19:28 字數 867 閱讀 9520

學習內容:

①演算法(尤其是遞迴演算法)複雜度的計算方法

②證明演算法正確性的三個步驟            //雖然我沒有怎麼弄清楚

③幾個排序演算法的實現與比較

**:

插入排序:

#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...