C语言第三页笔记

61.对一个P进制的数,如果要转换为Q进制,需要分为两步:第一步先将P进制数转换为十进制
数,第二步再将十进制数转换为Q进制数
62.散列:将元素通过一个函数转换为整数,使得该整数可以尽量唯一地代表这个元素。其中把这
个函数称为散列函数H。
63.除留余数法是指把key除以一个数mod得到的余数作为hash值的方法,即H(key)=key%mod;
64.线性探查法:当得到key的hash值H(key),但是表中下标为H(key)的位置已经被某个其他元素
使用了,那么就检查下一个位置H(key)+1是否被占,如果没有,就使用这个位置;否则就继续检
查下一个位置。这个做法容易导致扎堆,即表中连续若干个位置都被使用,这在一定程度上会降低
效率。
65.平方探查法:当表中下标为H(key)的位置被占时,将按下面的顺序检查表中的位置:
H(key)+1^2H(key)-1^2H(key)+2^2....。如果在检查过程中H(key)+k^2超过了表长Tsize
那么就把H(key)+k^2对表长取模。
66.链地址法:链地址不计算新的hash值,而是把所有的H(key)相同的key连接成一条单链表。这
样可以设定一个数组Link,范围是Link[0]~Link[mod-1],其中Link[h]存放H(key)=h的一条单链
表,于是当多个关键字key的hash值都是h时,就可以直接把这些冲突的key直接用单链表连接起
来,此时就可以遍历这条单链表来寻找所有H(key)=h的key。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值