问个红黑树的问题

2017年已注销 2013-05-12 10:54:12
我想写一个“自顶向下”的红黑树。

”自顶向下“红黑树在删除时,始终保证树叶节点是红色的,也就是真正删除的节点始终会是红色的。

我想问:
假如一个节点是红色的,那个这个节点要么有两个黑色的儿子,要么没有儿子。

如果一个节点是黑色的,这个节点只有一个儿子的话,那么这个儿子一定是红色的,对吧。
...全文
177 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
2017年已注销 2013-05-13
  • 打赏
  • 举报
回复
引用 1 楼 qq120848369 的回复:
看算法导论.
算法导论上面用的是递归吧。 但是《数据结构与算法分析》上面是用的非递归,也就是“自行向下”红黑树。 我觉得非递归好一点。
FancyMouse 2013-05-12
  • 打赏
  • 举报
回复
>假如一个节点是红色的,那个这个节点要么有两个黑色的儿子,要么没有儿子。 >如果一个节点是黑色的,这个节点只有一个儿子的话,那么这个儿子一定是红色的,对吧。 如果rbtree性质没有破坏的话,是。这两点都是由路径上黑色节点数量相同所保证的。 但是需要调整的时候你需要想清楚树的什么性质可能被破坏,根据被破坏的情况设计调整的算法。
qq120848369 2013-05-12
  • 打赏
  • 举报
回复
看算法导论.

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧