RedBlack 和 AVL 树 C++
RedBlack and AVL tree c++
我想了解使用 C++ 实现红黑树和 AVL 树。我查看了一些有关它们的网站,但其中大多数都很复杂且难以理解。你能给我推荐一些资源吗?
首先阅读两棵树的基本属性。您不必将自己局限于一种编程语言。如果你了解这些特性,那么你可以用任何语言自己实现它。
红黑树的性质:
- 节点为红色或黑色。
- 根是黑色的。这条规则有时会被省略。自根
总是可以从红色变为黑色,但不一定副
反之,这条规则对分析影响不大。
- 所有叶子 (NIL) 都是黑色的。
- 如果一个节点是红色的,那么它的两个子节点都是黑色的。
- 从给定节点到其任何后代 NIL 节点的每条路径
包含相同数量的黑色节点。一些定义:从根节点到一个节点的黑节点个数为
节点的黑色深度;所有黑色节点的统一数量
从根到叶子的路径称为
红黑树.
红黑树C++代码:
http://www.sanfoundry.com/cpp-program-implement-red-black-tree/
AVL 树教程:
https://www.youtube.com/watch?v=rwzuze_tTwQ
AVL 树 C++ 代码:
https://tfetimes.com/c-avl-tree/
我想了解使用 C++ 实现红黑树和 AVL 树。我查看了一些有关它们的网站,但其中大多数都很复杂且难以理解。你能给我推荐一些资源吗?
首先阅读两棵树的基本属性。您不必将自己局限于一种编程语言。如果你了解这些特性,那么你可以用任何语言自己实现它。
红黑树的性质:
- 节点为红色或黑色。
- 根是黑色的。这条规则有时会被省略。自根 总是可以从红色变为黑色,但不一定副 反之,这条规则对分析影响不大。
- 所有叶子 (NIL) 都是黑色的。
- 如果一个节点是红色的,那么它的两个子节点都是黑色的。
- 从给定节点到其任何后代 NIL 节点的每条路径 包含相同数量的黑色节点。一些定义:从根节点到一个节点的黑节点个数为 节点的黑色深度;所有黑色节点的统一数量 从根到叶子的路径称为 红黑树.
红黑树C++代码: http://www.sanfoundry.com/cpp-program-implement-red-black-tree/
AVL 树教程: https://www.youtube.com/watch?v=rwzuze_tTwQ
AVL 树 C++ 代码: https://tfetimes.com/c-avl-tree/