二叉查找树VS二叉平衡树VS红黑树

二叉查找树的缺点

一般的二叉查找树,在查找某个节点值时,可采用类似二分法的思想进行查找,时间复杂度为O(log(n));但是当二叉查找树在极端情况下退化为类似于链表时,时间复杂度为O(n);

这时二叉平衡树应运而生;

二叉平衡树的缺点

二叉平衡树是一颗要求左右子树的高度差不能超过1的二叉查找树,这个要求使得每次在进行插入、删除的时候,这棵树都可能遭到破坏,进而需要进行左旋右旋等操作恢复平衡。当我们的插入删除操作特别频繁时,会使得操作效率非常低下;

这时红黑树的优点就显现出来了;

红黑树的优点

红黑树也是一颗查找树,他要求:
1:根节点是黑色的;
2:每隔叶子结点都是黑色的空节点;
3:任何相邻的节点都不能同时为红色;
4:每个节点,其到达叶子结点的所有路径中都拥有相同数量的黑色节点。
这些特性使得红黑树可以在哪怕最坏情况下也能在O(log(n))时间复杂度找到特定节点。

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