为什么红色黑树比AVL树更适合Linux中的内存管理?

时间:2016-07-17 17:10:20

标签: linux linux-kernel kernel avl-tree red-black-tree

用于链接内存映射的可执行文件的各个部分的 vm_area_struct 结构存储为红黑树。现在,据我所知和这里的帖子提到Difference between red-black trees and AVL trees AVL树比RB树执行更快的查找。

此树由进程引用的虚拟地址编制索引,并在进程开始执行时创建。我希望这棵树可以用于查找,有时也可以用于插入和删除。如果是这种情况,那么为什么AVL树不优于RB树作为相同的实现。

此外,如果我的理解不正确,并且该树涉及大量插入和删除,与查找相比,请提供参考以支持此声明。

我已经看到一些关于tldp的文章提到早期的AVL树被用于相同的文章。请解释一下这种变化的原因是什么?

1 个答案:

答案 0 :(得分:1)

这在内核源存储库的文档目录中得到解决。

Documentation / rbtree.txt

  

红黑树类似于AVL树,但提供更快的实时性   在插入和删除操作方面有一定的最差情况性能(最多两个)   旋转和三个旋转以平衡树),   查找时间稍慢(但仍为O(log n))。