考研之数据结构028_算法查找_散列查找

在这里插入图片描述

一、散列表/哈希表的定义(Hash Table)

== 散列表==,又称“哈希表”,是一种数据结构,特点是:数据元素的关键字与其存储地址直接相关。
每个数据的关键字,和实际存储地址,有一个映射关系。
通过“散列函数(哈希函数)”:Addr=H(key)
在这里插入图片描述

二、解决冲突

1、拉链法

在这里插入图片描述

一、成功案例:

查找长度等于三说明,要查找27这个数据,需要对比三次关键字。
1、用27对13取余,等于1.
2、然后进行拉链法,在数组1中,进行一一比对。
在这里插入图片描述

二、失败案例

查找长度是0,没有进行比对。

在这里插入图片描述

三、ASL查找长度:

第一行个数+第二行个数…整体除以总数=ASL
在这里插入图片描述

四、失败的查找长度:

在这里插入图片描述

三、设置更好的散列方法

1、除留余数法 ——H(Key) = key%P

散列表,表长为m,取一个不大于m单最接近或等于m的质数p
(质数:除了1,和它本身之外,不能被其他整除,3,7,11,13)

2、直接定址法——H(Key) = key 或 H(Key)=a*key+b

在这里插入图片描述

3、数字分析法

在这里插入图片描述

4、平方取中法:

在这里插入图片描述

在这里插入图片描述

四、处理冲突的方法——开放定址法:

数组中依然是一个个元素,而空闲的地址,既可以向同义词开放,也可以非同义词开放。
在这里插入图片描述
在这里插入图片描述

一、线性探测法【012345…m-1】

在这里插入图片描述
在这里插入图片描述
在线性探测法,对存储的地址,可能落在1-15当中区间内,而哈希函数是0-12

1、查找成功

在这里插入图片描述

在这里插入图片描述

2、查找失败:(空位置算一次比较,但是拉链法没有算)

在这里插入图片描述

3、删除操作,不能直接删除,而是标记

在这里插入图片描述

在这里插入图片描述

4、ASL

在这里插入图片描述

1.查找成功:

每个数字查找成功比较的次数进行相加,然后除以总共的数字.
在这里插入图片描述

2.查找失败:

在这里插入图片描述
在这里插入图片描述

二、平方探测法【0,1,-1,4,-4,9,-9】


在这里插入图片描述

三、伪随机序列法

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值