数据结构——树

1.AVL树

应用:
Windows内核通过AVL树来保存一些离散的地址空间.
原因可能是访问次数多于插入删除的次数。AVL树的高度较低于红黑树等

2.红黑树

应用:
1.c++STL 包括set,multiset,map,multimap(侯捷前辈的STL源码剖析比较详细)。c++关联容器
java容器中的TreeMap

2.IO多路复用的epoll,内部用红黑树来维持我们想要监控的socket。以支持快速的插入和删除

3.nginx中定时器是用红黑树来维持的,因为红黑树是有序的,每次从红黑树内部取出最小的定时器即可。

4.linux内核中用红黑树来管理进程的内存使用,进程的虚拟地址空间块都以虚拟地址为key值挂在这棵红黑树上。

3.B/B++树

应用:
B树一般用在数据库等大型索引,主要原因就是层数少,重点—>减少避免磁盘IO
B+树适应文件系统,想下文件系统的样子,目录并不保存文件只有底层叶子节点保存数据。

4.Trie树

你可能感兴趣的:(数据结构)