# 内核中的数据结构

想要理解软件，编写出优美高效的代码离不开对数据结构的理解。虽然内核中基本沿用了通用的数据结构，但是有些要么增加了自己的使用方法，要么会为了符合内核需求提出自己的实现。

在这一章节，本人打算总结一下代码中遇到过的那些有意思的数据结构们。

## 链表

链表是软件中常用的数据结构了，虽然没有什么新花头，但是架不住用的多。而且内核中为了自身需求还演化出了新花样。

[双链表](00-index-3/01-list)

[优先级队列](00-index-3/03-plist)

[哈希表](00-index-3/02-hlist)

[Xarray](00-index-3/04-xarray)

[B树](00-index-3/05-btree)

[Maple Tree](00-index-3/06-maple_tree)

[Interval Tree](00-index-3/07-interval_tree)
