Linux内核学习笔记 -04 Linux内核中的哈希表

什么是哈希表(list)?核心思想是将关键字与存储位置之间建立映射关系,即哈希函数。

通过哈希函数可以在时间复杂度O1下查找数据

实际应用中常常有一种现象,对于两个不同的关键字,通过哈希运算后具有同样的哈希地址。 如果不进行处理,则会导致这两个关键字存储在同一个地址上面。显然不合适,该现象就是哈希表的冲突现象

如何解决哈希表的冲突现象?

开放寻址法,再散列法,链地址法。后面讲介绍链地址法。

链地址法:将具有相同哈希地址的记录链成一个链表,m个哈希地址就有m个链表,然后用一个数组将这m个链表的头节点链起来形成一个动态结构,

Hlist,就是内核提供的用于实现哈希表链地址法的一个数据结构。

猜你喜欢

转载自blog.csdn.net/f2157120/article/details/107431581