数据结构之-查找-数组的查找、链表的查找和树的查找

一、线性表的查找

顺序表类似于数组是一段连续的空间,通过R[i]的下标来移动。

可以从头开始找,也可以从尾开始找。

通过添加哨兵的形式来改进。

用来存放作为哨兵的辅助空间。

顺序查找的缺点,时间太久,有点空间复杂度低。

二、折半查找法

mid向下取整。high<low是查找算法的结束条件。

也可以用递归实现。

 若不是顺序存贮结构,则无法查找。(顺序存贮结构,插入和删除不是很方便,每次都需要移动其他不相关的元素)

分块查找也叫做索引顺序表的查找。

树的查找

插入的元素一定在叶子节点上。

二叉排序树的形态不一样,则查找效率也不一样。

树的高度越低则查找效率越好。

为了让二叉树更加平衡化,提高查找效率则构建平衡二叉树。

平衡旋转,结果如下

例如:

记住永远都是中间大的变成新的根节点,然后比它小的在左子树,比它大的在右子树。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值