ACM算法笔记(八)查找算法

一、二分法查找

        适用于有序数组

        思路:每次将数组分为左右两边,通过中间元素与左右两边的元素进行比较得出所找元素到底是在左半区间还是右半区间;然后对其所在的区间做同样的处理,直至找到。

二、差值查找

        与二分查找的区别是,切分区间时不一定是对半切分(自适应,使得每次选取的区间尽可能靠近被查找数)。

三、斐波那契查找

使用黄金比例切割来划分区间

四、树表查找

使用树结构来查找

        例:二叉查找树(子节点一定小于根结点,左结点一定小于右节点)

         重点:将有序数列转换为二叉查找树

        缺点:结构复杂

五、分块查找

        称“索引顺序查找”,属于顺序查找的改进型

        将线性表分为若干块(块内部可以是无序的,但是块之间必须有序 <前一块中的最大值必须小于后一块中的最小值>),然后将这些块建立索引表。查找时通过索引初步定位到对应的块,然后再在其中进行精确查找。

六、哈希查找

        使用哈希表存放待查找数据,然后通过哈希表进行查找

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值