凡上帝目光所及,皆可交易
by
龍
红黑树是一种二叉排序树 也成为二叉查找树也算一种非严格的平衡树
(插入与删除结点)不需要移动大段的内存数据,甚至通常是常数开销;
和二叉树不同的是: 在二叉树的基础上增加了着色和相关的性质是的红黑树相对平衡 使得查找删除插入的最坏时间复杂度为O(log n)
下面这五条性质保证了红黑树的高度始终保持在h = log n
红黑树除了具有排序二叉树特性也属于平衡二叉树,但不是严格的平衡二叉树,说它不严格是因为它不是严格控制左、右子树高度或节点数之差小于等于1,但红黑树高度依然是平均log(n),且最坏情况高度不会超过2log(n),这有数学证明。所以它算平衡树。(坑爹啊)
graph LR
红黑树-->排序二叉树
红黑树-->平衡二叉树
所以 简单来说:查找次数要是远远大于删除和插入的次数,我要毫不犹豫的选择 AVL树;如果查找次数和删除插入次数差不多的话,选择红黑树是很必要的 —
tags: