离散数r学课件-第2章-2.pptVIP

  • 3
  • 0
  • 约9.04千字
  • 约 59页
  • 2016-11-30 发布于湖南
  • 举报
离散数r学课件-第2章-2

最坏情形复杂度 例2中做的这类复杂度分析是最坏情形分析。算法的最坏情形指的是把算法应用于一定规模的问题最多需要多少次运算。最坏情形分析说明算法需要多少次运算就保证给出问题的解答 例3 分析二分搜索算法的时间复杂度 假定表a1,a2,…,an中有n=2k个元素,其中k是非负整数。 注意k=logn。(如果表中元素个数n不是2的幂,那么这个表可以看做一个有2k+1个元素的大表的一部分,其中2kn2k+1。因此2k+1是大于n的2的最小幂) 在表中含2k个元素时,用两次比较把表减半,在表中含2k-1个元素时又用两次比较,在表长减为2k-2时又用两次比较,如此等等,直到两次比较后,表长为21=2。 最后当表中只剩一个元素时,再用一次比较确定没有其他元素留在表中,还有一次比较判断这一项是否为x。 当表中有2k个元素时,二分搜索需要2k+2=2logn+2次比较 于是二分搜索算法需要最多Θ(logn)次比较. 在最坏的情况下,二分搜索算法比线性搜索效率高 平均情形复杂度 一定规模的问题,对所有输入求解使用的平均运算次数。 平均情形时间复杂度分析一般比最坏情形分析复杂得多。 例4分析线性搜索算法的平均情况性能 x是表的第一项,每次循环做三次比较 判断是否已到表终点 比较x和第一项 循环外比较一次 x是表的第二项,还要增加2次比较 X是表的第i项,i次循环中的每一次都要做2

文档评论(0)

1亿VIP精品文档

相关文档