数据结构(C语言版)电子教案-赵坚数据结构09章.pptVIP

  • 4
  • 0
  • 约1.58万字
  • 约 84页
  • 2017-11-13 发布于未知
  • 举报

数据结构(C语言版)电子教案-赵坚数据结构09章.ppt

算法分析 从顺序查找过程可见(不考虑越界比较),顺序查找不论给定值k为何,若第1个记录符合给定值,只要比较1次。若第n个记录符合给定值,要比较n次,即ci=i。若每个记录的查找概率相等,且每次查找都是成功的。则在等概率的情况下,顺序查找的平均查找长度为: 查找成功时的平均比较次数约为表长的一半。若k值不在表中,则须进行n+1次比较之后才能确定查找失败。顺序查找算法的时间复杂性为O(n)。 算法分析 二分查找算法的计算复杂性可以用二叉树来进行分析。我们把当前查找区间的中间位置上的记录作为根。左子表和右子表中的记录分别作为根的左子树和右子树。由此得到的二叉树,称为描述二分查找的判定树或比较树。 在查找概率相同的情况下,Pi=1/n。查找成功的平均查找长度为: 二分查找算法比顺序查找算法平均查找长度为 n/2的比较次数少,查找速度快。虽然二分查找的效率高,但是要将表按关键字排序。而排序本身是一种很费时的运算,即使采用高效率的排序方法也要花费O(nlog2n)的时间。另外,二分查找只适用顺序存储结构,不适于线性链表结构。为保持表的有序性,在顺序结构里插入和删除都必须移动大量的记录。 二分查找特别适用于那种一经建立就很少改动,而又经常需要查找的线性表。 算法分析 由于分块查找实

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档