数据结构之哈希表

1.哈希表的定义

首先明确哈希表也是种数据结构,本质上是储存键值对的数组

2.哈希函数和函数法则

通过对键值对中的关键值进行一连串操作将其转变为数组中储存的位置(映射哈希值),这样的一系列操作犹如一个对应关系的函数,这个函数被叫做哈希函数,其中具体的操作被称为函数法则

3.哈希冲突

1)哈希冲突的定义

哈希冲突是指不同的键值对经过哈希函数处理后转变为相同的哈希值,此时此位置存储不下多个

键值对,此时就发生了哈希冲突

2)哈希冲突解决措施

开放寻址法:

即当发现一个数据存储时,相应地址被占用,此时向后地址进行推移,知道找到合法可用的地址进行存储。

链表法:

将同一位置中存储的不同键值对进行改造,使用链表将不同键值对进行串联然而当链表长度过长时,查找的效率便显得不够高效,此时可改用树形结构,来提高查找效率

4.哈希表的扩容和增长因子

当哈希表中存储的哈希值越来越多,此时出现哈希冲突的概念也大大增加此时就应该进行扩容,而此时被占的位置和总位置的比例就被称为增长因子(例:十个位置被占了七个此时增长因子便是0.7)扩容时创建一个原来两倍大的数组,将原来的键值对通过新的哈希函数进行映射。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值