哈希表梳理

研究背景:一些排序,如快排或计数排序造成了大量的空间被浪费掉

哈希表定义:存放数据的集合——>哈希表中元素是无序的,不可重复的

应用背景:判断一个元素是否在此之前出现过,并优化

核心思想:将[0,m)上的值映射到[0,p)上,以节省数据存储空间,哈希表是多对一的映射方式。

哈希表的精髓:空间压缩

哈希表和常用,也很好用,划重点

哈希表的两种实现方式:开散列方法( open hashing,也称为拉链法,separate chaining )和闭散列方法( closed hashing,也称为开地址方法,open addressing )。他们也是解决hash冲突的方法

冲突解决策略

尽管散列函数的目标是使得冲突最少,但实际上冲突是无法避免的。因此,我们必须研究冲突解决策略。
      冲突解决技术可以分为两类:开散列方法( open hashing,也称为拉链法,separate chaining )和闭散列方法( closed hashing,也称为开地址方法,open addressing )。

开散列与闭散列的不同之处在于:

开散列法把发生冲突的关键码存储在散列表主表之外;

而闭散列法把发生冲突的关键码存储在表中另一个槽内。

开、闭散列的应用:lua 是闭散列的,go 是开散列的

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值