用于链接内存映射的可执行文件的各个部分的 vm_area_struct 结构存储为红黑树。现在,据我所知和这里的帖子提到Difference between red-black trees and AVL trees AVL树比RB树执行更快的查找。
此树由进程引用的虚拟地址编制索引,并在进程开始执行时创建。我希望这棵树可以用于查找,有时也可以用于插入和删除。如果是这种情况,那么为什么AVL树不优于RB树作为相同的实现。
此外,如果我的理解不正确,并且该树涉及大量插入和删除,与查找相比,请提供参考以支持此声明。
我已经看到一些关于tldp的文章提到早期的AVL树被用于相同的文章。请解释一下这种变化的原因是什么?
答案 0 :(得分:1)
这在内核源存储库的文档目录中得到解决。
Documentation / rbtree.txt
红黑树类似于AVL树,但提供更快的实时性 在插入和删除操作方面有一定的最差情况性能(最多两个) 旋转和三个旋转以平衡树), 查找时间稍慢(但仍为O(log n))。