JAVA红黑树
概念:每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色,提高二叉树的查找性能;
特性:
性质1. 节点是红色或黑色。
性质2. 根是黑色。
性质3. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
性质4. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
性能:O(log n)的时间之外,每次插入或删除需要O(log n)的空间。
实现:
JAVAQueue:用linkedlist写的队列
JAVAStack:用linkedlist写的堆栈
TreeNode:定义的节点类
TestRBT类:主要功能实现