C语言第一章详解.pptVIP

  • 2
  • 0
  • 约7.51千字
  • 约 42页
  • 2019-10-25 发布于广东
  • 举报
1.4 算法和算法分析 时间复杂度举例: 例1: 将x自增看成是基本操作,则语句频度为1,即时间复杂度为O(1) 如果将s = 0也看成是基本操作,则语句频度为2,其时间复杂度仍为O(1),即常量阶。 例2: 语句频度为:2n 其时间复杂度为:O(n) 即时间复杂度为线性阶。 {++x; s = 0;} for(i = 1; i = n; ++i) {++x; s += x;} * 1.4 算法和算法分析 时间复杂度举例: 例3: 语句频度为:2n2,其时间复杂度为:O(n2) 即时间复杂度为平方阶。 for(i = 1; i = n; ++i)  for(j = 1; j = n; ++j) {++x; s += x;} * 1.4 算法和算法分析 常见的算法的时间复杂度 O(1) O(logn) O(n) O(nlogn) O(n2) O(n3) O(2n) O(n!) O(nn) 当n取值很大时,指数时间算法和多项式时间算法在所需时间上非常悬殊。 * 米/秒 英制度量衡 现实世界的例子 10-11 10-10 10-9 10-8 10-7 10-6 10-5 10-4 10-3 10-2 10-1 1 101 102 103 104 105 106 107 108 1.2 英寸/世纪 1.2英寸/十年 1.2 英寸/年 1 英尺/年 1英尺/月 3.4英寸/天 1.4英寸/时 1.2英尺/时 2英寸/分 2英尺/分 20英尺/分 2.2英里/时 22英里/时 220英里/时 37英里/分 370英里/分 3700英里/分 620英里/秒 6200英里/秒 62,000英里/秒 钟乳石的生长速度 大陆板块的漂移速度 指甲的生长速度 头发的生长速度 杂草的生长速度 冰河的流动速度 表的分针转动速度 胃肠的蠕动速度 蜗牛的速度 蚂蚁的速度 巨龟的速度 人类的散步速度 人类疾跑速度 螺旋桨飞机的速度 喷气式飞机的速度 宇宙飞船的速度 流星撞击地球的速度 地球自转速度 卫星从洛杉矶到纽约的速度 光速的三分之一 * 运行时间估算 例:假设CPU每秒处理106 个指令,对于输入规模为108的问题,时间代价T(n) = 2n2的算法要运行多长时间?时间代价T(n) = nlogn 的算法要运行多长时间? T(n) = 2n2 操作次数:T(n) = T(108) = 2×(108)2 = 2×1016 运行时间:2×1016/106 = 2×1010秒 每天有86,400秒,因此需要231,480 天(634年) T(n)=nlog n 操作次数:T(n) = T(108) = 108 ×log 108 = 2.66×109 运行时间:2.66×109/106 = 2.66×103秒,即44.33分钟 * 1.4 算法和算法分析 大O的运算规则 加法准则 前提:T1(n) = O(f(n)); T2(n) = O(g(n)) 结论:T(n) = T1+T2 = O(max(f(n),g(n))) 适用于并列程序段、顺序结构、if 结构、switch结构 乘法准则 前提:T1(n) = O(f(n)); T2(n) = O(g(n)) 结论:T(n) = T1*T2 = O(f(n)*g(n)) 适用于嵌套程序段、for、 while、 do-while结构 * for ( i=4; in; i++) for (j = i-3, sum = a[i-4]; j = i; j++) sum += a[j]; 1.4 算法和算法分析 大O的运算规则示例: 求下面算法的时间复杂度,a是一个数组,n为数组元素个数 T(n)=O(n) * 1.4 算法和算法分析 算法存储空间的度量 算法存储空间度量的基本做法 用程序执行中需要的辅助空间的大小作为存储空间度量的依据,是问题规模n的函数。 程序执行中程序本身和基本数据所需的工作单元计算空间复杂度时不算。 算法空间复杂度 S(n)=O(f(n)) 称为算法的空间复杂度。 * 本章小结 本次课程应掌握的内容 解决非数值计算类问题的基本思路 数据结构的基本概念 抽象数据类型的定义 算法及其评价 作业 1.8 1.9 1.11 自学类C语言描述(P9-13) * 关于C++引用的补充 C++引用(reference) 引用是C++中引入的一个新概念 作用是定义了对象的一个同义词(别名),实际指的是同一个对象 引用使用符号表示 引用和C的指针很相似 引用主要用于函数参数传递 传递复杂对象时不需要复制对象 可以通过参数返回函数中对象的改变 * 关于C++引用的补充 引用的例子 #include stdio.h #inc

文档评论(0)

1亿VIP精品文档

相关文档