数据结构-C语言版:DS01-概论.pptVIP

  • 2
  • 0
  • 约6.18千字
  • 约 43页
  • 2022-04-27 发布于安徽
  • 举报
一个算法所耗费的时间是算法中所有语句执行时间之和,而每条语句的执行时间是该语句的执行次数(频度)与该语句执行一次所需时间(略,因机器不同而不同)的乘积。 求时间复杂度方法: 一般,求时间复杂度时,只考虑与程序规模有关的频度最大的语句,如循环语句的循环体,多重循环的内循环等。 例1.4 有下列三个程序段: ⑴ {x=x+1; s=0;} 频度为1 ⑵ for(i=1; i=n; i++){ x=x+1; s=s+x;} 频度为n ⑶ for(j=1; j=n; j++) for(k=1; k=n; k++) { x=x+1; s=s+x;} 频度为n2 它们含基本操作“x加1”的语句的频度分别为1、n和n2,因此,对于程序段⑴来说,其时间复杂度为O(1),程序段⑵的时间复杂度为O(n),程序段⑶的时间复杂度为O(n2)。 例1.5 对n个记录进行升序排序的问题,采用最简单的选择排序方法。 每次处理时,先从n个未排序的记录中选出一个最小记录,则第一次要经过n-1次比较,才能选出最小记录;第二次再从剩下的n-1个记录中经过n-2次比较,选出次小记录;…;如此反复,直到只剩两个记录时,经过1次

文档评论(0)

1亿VIP精品文档

相关文档