第八章 查找

第八章 查找
顺序查找
原理:给定一个特定值,一个一个的与关键字比较,若有与特定值相等的关键字,则返回整个记录的信息或者该记录在表中的位置。若查找完都没有与特定值匹配的关键字,则返回一个空指针或者空记录。
性能分析:查找算法的平均查找长度(期望值)->每条信息的查找次数*该条信息被查找到的概率

e552a253dc4c41d893ed8e1460e0f8e9.png

9dc2ad6d256f43208fbf3696a447ebe7.png

在没有监视哨的时候,表长为n
在有监视哨的时候,表长为n+1,并且在监视哨的位置放置要查找的元素,如果查找成功则返回关键字位置,若不成功则返回监视哨的位置。并且下述的平均查找长度为没有监视哨的情况(即只考虑可以找到的情况)

ae2174517ecf4135827eb23b21a3b4bc.png
缺点:查找的效率不高 优点:算法简单并且应用面广
备注:如果考虑到能找的与找不到两种情况的话,则平均查找长度为

ca01643213474af18ba32f902163c9b9.png

折半查找
原理:给定一个顺序表,low、high、mid初始位置分别为首、尾、中,比较给定值t与mid位置的关键字:

7532008719614bcd8111de1dda239c85.png

性能分析:原理:根据折半查找构造一棵二叉树,根据二叉树的性质,分析查找某一个值的次数,此时二叉树的深度等于查找次数。

923e76e16dae46538d16571767455034.png

d3a5204b423c46ceb38a3d3c6055d8ce.png

由上述的两个图可知:二分法查找在查找成功时进行比较的关键字个数最多不超过树的深度,而具有n个结点的判定树的深度为log2n+1。所以折半查找法在查找成功时和给定值进行比较的关键字个数至多为log2n+1

2bf47b7c45574efa877b36360c6a3970.png
 

5ced8bc48bf74a519a14eb8104702a87.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值