数据结构-散列表
  97SvV4BTXbIM 2023年12月07日 33 0


列表(Hash Table),又称哈希表,是一种数据结构,特点是:数据元素的关键字与其存储地址直接相关

例:有一堆数据元素,关键字分别为{19,14,23,1,68,20,84,27,55,11,10,79},散列函数H(key)=key%13

若不同的关键字通过散列函数映射到同一个值,则称它们为“同义词”

通过散列函数确定的位置已经存放了其他元素,则称这种情况为“冲突”

数据结构-散列表_散列函数


用拉链法(又称链接法、链地址法)解决‘冲突’:把所有“同义词”存储在一个链表中

散列查找

数据结构-散列表_链地址法_02


数据结构-散列表_数据_03


数据结构-散列表_散列函数_04


数据结构-散列表_数据结构_05

数据结构-散列表_散列函数_06


数据结构-散列表_散列表_07


数据结构-散列表_散列表_08


数据结构-散列表_链地址法_09

常见的散列函数

设计目标–让不同关键字的冲突尽可能地少

除留余数法—H(key)=key%p

散列表表长为m,取一个不大于m但最接近或等于m的质数p

质数又称素数。指除了1和此整数自身外,不能被其他自然数整除的数

数据结构-散列表_散列函数_10


数据结构-散列表_数据_11


数据结构-散列表_散列函数_12


数据结构-散列表_散列函数_13


数据结构-散列表_散列函数_14


数据结构-散列表_散列表_15


数据结构-散列表_数据结构_16


数据结构-散列表_数据_17

处理冲突的方法–开放定址法

数据结构-散列表_散列表_18


数据结构-散列表_数据_19


数据结构-散列表_链地址法_20


数据结构-散列表_数据结构_21


数据结构-散列表_数据_22


数据结构-散列表_散列表_23


数据结构-散列表_链地址法_24


数据结构-散列表_散列表_25


数据结构-散列表_链地址法_26


数据结构-散列表_数据_27


数据结构-散列表_数据_28


数据结构-散列表_链地址法_29

查找操作

数据结构-散列表_数据结构_30


数据结构-散列表_散列函数_31


数据结构-散列表_散列表_32


数据结构-散列表_数据结构_33


数据结构-散列表_数据结构_34


数据结构-散列表_散列表_35

删除操作

数据结构-散列表_散列表_36


数据结构-散列表_数据_37


数据结构-散列表_数据结构_38

查找效率分析(ASL)

数据结构-散列表_数据_39


数据结构-散列表_数据_40


数据结构-散列表_链地址法_41

平方探测法

数据结构-散列表_数据结构_42


数据结构-散列表_数据结构_43


数据结构-散列表_数据结构_44


数据结构-散列表_链地址法_45

伪随机序列法

数据结构-散列表_散列表_46


数据结构-散列表_散列表_47


数据结构-散列表_链地址法_48


数据结构-散列表_散列函数_49


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月07日 0

暂无评论

推荐阅读
97SvV4BTXbIM