二叉树
csdn_LICY
这个作者很懒,什么都没留下…
展开
-
二叉树之红黑树的删除方法(JAVA代码实现)
上一章写到了红黑树的插入,今天记录下红黑树的删除方法,因为删除方法比插入更麻烦,情况更多,顾单独写一章。 一、删除的几种情况 假设删除节点为D,一下均是D在左子树的分析情况,D在右子树,均是镜面对称操作。 二、删除代码 public void remove(int element) { removeForBalance(element, root, true); deleteE...原创 2020-03-15 16:24:04 · 447 阅读 · 0 评论 -
二叉树之红黑树的插入方法(JAVA代码实现)
之前写过AVL树的插入与删除,今天给大家分享下用JAVA代码实现红黑树的插入。 首先回忆下红黑树的五个特性: 性质1:节点是红色或黑色。 性质2:根节点是黑色。 性质3:每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 性质4:从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。 规定:空节点为黑节点 1、RedBlackTree基本属性 priv...原创 2020-03-11 22:21:11 · 321 阅读 · 0 评论 -
二叉树,二叉查找树,AVL树的一种实现
二叉树,二叉查找树,平衡二叉树,AVL树的一种实现 网上关于二叉树的介绍有很多,这里不做多介绍,今天给大家分享一个自己实现的二叉查找树和AVL树。其实AVL树只是 比二叉查找树多一步平衡,后面会单独介绍平衡方法。 1、首先构建一个AvlNode。 public class AvlNode { //节点 public int element; //左子树 publ...原创 2020-03-08 17:35:47 · 241 阅读 · 0 评论