C语言数据结构-哈希表
1.什么是哈希表?
哈希表是一种值映射地址的关系,是一种对应关系。要知道的两个概念,不知道不行。
(1)哈希构造函数
用来描述值和地址的关系的,构造函数是由自己选择的,选择什么函数都可以。y=x这种函数为直接地址法
传统的哈希构造函数方法:
@1:直接地址法:用函数描述为y = x
@2:余数法:比较常用,用函数描述为y = x % p
其中2,4,0,就是相对应值的哈希地址。如果哈希地址有两个一样的,则称为哈希冲突,针对哈希冲突有提供一些解决方案。
@3:折叠法
(2)哈希冲突
@1:解决办法:直接填充法
找一个空的位置,直接存放。
@2:解决办法:链地址法(邻接表法、数组链表)