1 分治法
算法思想:
- 將一個問題劃分爲若干個子問題。
- 遞歸的解決每一個子問題。
- 將子問題的解合併成爲整個大問題的解。
2 歸併排序
算法思想:
- 將一個數組分爲兩個子數組。
- 遞歸的對每一個子數組進行排序。
- 合併兩個有序子數組。
時間複雜度:
3 二分查找
在有序數組中查找數X。
算法思想:
- 把數X與數組中間元素比較,得到X所在的子數組。
- 遞歸的在這個子數組查找X。
- 無。
時間複雜度:
4 n次冪乘方問題
有實數X和正整數n計算X^n。 當n爲偶數時,X^n=X^(n/2)·X^(n/2),當n爲奇數時,X^n=X^((n-1)/2)·X^((n-1)/2)·X。
時間複雜度:
5 斐波那契數列
1)直接遞歸
2)自下而上遞歸式
3)樸素平方遞歸
4)矩陣法
6 n階矩陣相乘
1)樸素算法
- 輸入:兩個矩陣A[aij]和B[bij] 1<=i<=n 1<=j<=n
- 輸出:矩陣C[cij]=A[aij]·B[bij]
for i ← 1 to n
do for j ← 1 to n
cij=0
do for k ← 1 to n
do cij ← cij+aik·bkj
運行時間爲Θ(n^3)
2)strassen算法
7 VLSI layout(超大規模集成電路)
1)樸素算法
2)優化算法