红黑树和B树
Posted xinmomoyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了红黑树和B树相关的知识,希望对你有一定的参考价值。
1.二叉查找树
2.红黑树
2.1定义
2.2变换规则
左旋
右旋
部分实现代码
package 练习; public class RedBlackTree { private final int R = 0; private final int B = 1; private Node root = null; class Node { int data; int color = R; Node left; Node right; Node parent; public Node(int data) { this.data = data; } } public void insert(Node root, int data) {//root默认不为空的情况下 if (root.data < data) {//插入到右边 if (root.right == null) { root.right = new Node(data); } else { insert(root.right, data); } } else { if (root.left == null) { root.left = new Node(data); } else { insert(root.left, data); } } } public void leftRotate(Node node) { if (node.parent == null) {//表示是根节点 Node E = root; Node S = E.right; //移S的左子树 E.right = S.left; S.left.parent = E; //修改E的指针 E.parent = S; //修改S的指针 S.parent = null; } } }
3.B树
4.B+树
5.总结
以上是关于红黑树和B树的主要内容,如果未能解决你的问题,请参考以下文章