程序员程序园

红黑树

2019-02-01  本文已影响53人  二毛_220d

什么是“平衡二叉查找树”?

二叉树中任意一个节点的左右子树的高度相差不能大于1。
平衡二叉查找树中“平衡”的意思,其实就是让整棵树左右看起来比较“对称”、比较“平衡”,不要出现左子树很高、右子树很矮的情况。这样就能让整棵树的高度相对来说低一些,相应的插入、删除、查找等操作的效率高一些。

如何定义一颗“红黑树”?

问题引出:为什么工程中都喜欢用红黑树,而不是其他平衡二叉查找树呢?

AVL树(平衡查找二叉树)是一种高度平衡的二叉树,所以查询的效率非常高,但是,有利有弊,AVL树为维持这种高度的平衡,就要付出更多的代价。每次插入、删除都要做调整,就比较复杂、耗时。
而红黑树只是做到了近似平衡,并不是严格的平衡,所以在维护平衡的成本上,要比AVL树要低。红黑树的插入、删除、查找各种操作性能都比较稳定,其时间复杂度都为O(logn)。符合工业级工程的要求。

上一篇下一篇

猜你喜欢

热点阅读