contributed by < steven1lung >
Documentation
在 Linux 核心中,有許多地方都有使用到紅黑樹。但是我們可能會想說為什麼要使用紅黑樹,而不是其他的二元樹像是:AVL Tree 之類。雖然二者平均時間複雜度都是 $O(\log n)$,但因行為和特性的落差,有不同的應用場景。
以下簡述 AVL Tree 和紅黑樹的差異:
平衡AVL Tree 比紅黑樹還要平衡(左右子樹的高度不能差超過 2),但是會在平衡自己的時候花費比紅黑樹多的時間。
如果考慮到要更快速地去 search 一個節點,那 AVL tree 會比較適合。