第三讲 算法的复杂度分析与最优算法.pdf
文本预览下载声明
Introduction to Algorithms
算法导论
李彬
山东轻工业学院 理学院
第一章 引论
算法的复杂度分析与最优算法
2
增长阶
例:
sum=0;
for(i=1;i=n;i++)
for(j=1;j=n;j++)
sum++;
3
增长阶
2
T(n)=O(n )
4
算法分析的基本法则
非递归算法:
(1)for / while 循环
循环体内计算时间*循环次数;
(2)嵌套循环
循环体内计算时间*所有循环次数;
(3)顺序语句
各语句计算时间相加;
(4 )if-else语句
if语句计算时间和else语句计算时间的较大者。
5
templateclass Type
void insertion_sort(Type *a, int n)
{
Type key; // cost times
for (int i = 1; i n; i++){ // c1 n
key=a[i]; // c2 n-1
int j=i-1; // c3 n-1
while( j=0 a[j]key ){ // c4 sum of ti
a[j+1]=a[j]; // c5 sum of (ti-1)
j--; // c6 sum og (ti-1)
}
a[j+1]=key; // c7 n-1
}
}
6
n−1 n−1 n−1
T(n) c n +c (n −1) +c (n −1) +c t +c (t −1) +c (t −1) +c (n −1)
显示全部