https://www.cnblogs.com/tongongV/p/11038991.html
感觉和图的邻接表很像。
哈希表:
https://blog.csdn.net/lovebaby859450415/article/details/79620715
python中字典就是哈希表。
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
https://blog.csdn.net/hs794502825/article/details/24597773
https://blog.csdn.net/zhanglei4214/article/details/6767288
https://blog.csdn.net/wei_cheng18/article/details/79821965 哈希桶
include/linux/list.h文件
hlist示意图:
这两个结构体定义在/include/linux/types.h中。
hlist_head结构体
struct hlist_head {
struct hlist_node *first;//指向链表第一个hlist_node
};
hlist_node结构体
struct hlist_node {
struct hlist_node *next, **pprev;//pprev指向上一个结点的next指针
};
hlist_head初始化方法(3种):
/*
* Double linked lists with a single pointer list head.
* Mostly useful for hash tables where the two pointer list head is
* too wasteful.
* You lose the ability to access the tail in O(1).
*/
#define HLIST_HEAD_INIT { .first = NULL }
#define HLIST_HEAD(name) struct hlist_head name = { .first = NULL }
#define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL)