Node successor = delNode;
Node current = delNode.rightChild;
while (current != null) {
// successorParent指向当前节点的上一个节点
successorParent = successor;
// successor变为当前节点
successor = current;
current = current.leftChild;
}
// 替补节点的右孩子节点不为空
if (successor != delNode.rightChild) {
successorParent.leftChild = successor.rightChild;
successor.rightChild = delNode.rightChild;
}
return successor;
}
}
public class TreeApp {
public static void main(String[] args) {
Tree tree = new Tree();
tree.insert(8);
tree.insert(50);
tree.insert(45);
tree.insert(21);
tree.insert(32);
tree.insert(18);
tree.insert(37);
tree.insert(64);
tree.insert(88);
tree.insert(5);
tree.insert(4);
tree.insert(7);
System.out.print("PreOrder : ");
tree.traverse(1);
System.out.println();
System.out.print("InOrder : ");
tree.traverse(2);
System.out.println();
System.out.print("PostOrder : ");
tree.traverse(3);
System.out.println();
System.out.println(tree.delete(7));
System.out.print("PreOrder : ");
tree.traverse(1);
System.out.println();
System.out.print("InOrder : ");
tree.traverse(2);
System.out.println();
System.out.print("PostOrder : ");
tree.traverse(3);
System.out.println();
}
}
JAVA数据结构关于查找树的节点的代码分析你好树的数据结构代码java,递归调用简单的说就是自己无限的调用自己的下一级 , 也就是说父节点和子节点拥有相同的属性和方法,所以在处理玩当前节点也就是父节点的时候,就调用处理自身下面的子节点,类似于文件夹和文件,文件夹相对于当前目录来说是父节点,而树的数据结构代码java他里面的子文件夹就相当于子节点,但是处理子文件夹的时候 , 子文件夹就成了父节点,一次递归处理完毕
希望可以帮助到你
Java数据结构二叉树深度递归调用算法求内部算法过程详解二叉树
1
2
3
4
5
6
7
这个二叉树的深度是3,树的深度是最大结点所在的层 , 这里是3.
应该计算所有结点层数,选择最大的那个 。
根据上面的二叉树代码,递归过程是:
f
(1)=f
(2)+1
f
(3)
+1
?
f(2)
+
1
:
f(3)
+1
f(2)
跟f(3)计算类似上面,要计算左右结点,然后取大者
所以计算顺序是f(4.left)
=
0,
f(4.right)
=
f
(4)
=
f(4.right)
+
1
=
1
然后计算f(5.left)
=
0,f(5.right)
=
f
(5)
=
f(5.right)
+
1
=1
f(2)
=
f(5)
+
1
=2
f(1.left)
计算完毕,计算f(1.right)
f(3)
跟计算f(2)的过程一样 。
得到f(3)
=
f(7)
+1
=
2
f(1)
=
f(3)
+
1
=3
12345if(depleftdepright){return depleft+1;}else{return depright+1;}
只有left大于right的时候采取left
+1,相等是取right
【树的数据结构代码java java 树型结构】树的数据结构代码java的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于java 树型结构、树的数据结构代码java的信息别忘了在本站进行查找喔 。
推荐阅读
- 怎么在bios里停用硬盘,bios界面如何关闭硬盘保护
- java引用jar代码,java代码打包成jar
- 如何营销品牌文案,品牌营销文案怎么写
- 用java开发爬虫,java开源爬虫项目
- flutter播放器实现弹屏,flutter播放器ui
- 男的直播聊天什么原因,男生直播需要注意些什么
- 包含更改postgresql默认编码的词条
- java代码未引用 java引用什么意思
- linux里上网的命令,linux系统网络命令