数据结构--查找

二分查找(折半查找)

二分查找:利用表的有序性排除待查找元素中的一半

牢记:

• 二分查找只能发生在有序数组

• 时间复杂度为O(lgn)

• 二分查找每次排除一半,至多log2(n) + 1次后结束 => 复杂度为O(lg(n))

二叉查找树

• 二叉查找树中任意结点:>左子树所有结点,<右子树所有结点

哈希表(散列表)

建立 元素值->数组下标 的映射(哈希),直接判断目标值是否存在结构中(哈希表)

例:元素为{22,6,19,18,2},通过 h(x) = x % 7(哈希函数) 的映射关系将其映射到数组对应位置上

哈希表冲突

就是你想插入元素进哈希表里时候已经有其他的元素了。

解决办法1:开放地址法😀

仍旧是这个表

现在插入元素29, 哈希值为1,产生了冲突

继续下一级哈希:h1 = (29 + 1) % 7

仍然冲突?再哈希:

h2 = (29 + 2) % 7

29经过3次哈希,放入了nums[3]

解决办法2:链地址法

将哈希值相同的元素存放在  同一个单链表 中

h(x) = x % 7,依次插入22,6,19,18,2,29,30,42,10,54,50

哈希函数是一个映射:元素值 -> 哈希值

不同的元素拥有相同的哈希值:冲突

哈希函数应尽量能较为均匀地映射元素 => 降低冲突概率

个人认为本章就是讲元素通过哈希函数来找到自己映射的位置哈希值。😀


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yzhenfeng7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值