Q39:二叉树的深度(递归实现)
来源:互联网 发布:1password mac 破解版 编辑:程序博客网 时间:2024/05/17 23:22
import javax.swing.RootPaneContainer;
import BinaryTree.BinaryTreeNode;
//二叉树的深度
public class Q39 {
/*
* 题目:输入一棵二叉树的根节点,求该树的深度
* 思路:采用递归算法:树的高度=1(根节点)+max{左子树的深度,右子树的深度};
*/
public static void main(String[] args) {
BinaryTreeNode root1 = new BinaryTreeNode();
BinaryTreeNode node1 = new BinaryTreeNode();
BinaryTreeNode node2 = new BinaryTreeNode();
BinaryTreeNode node3 = new BinaryTreeNode();
BinaryTreeNode node4 = new BinaryTreeNode();
root1.leftNode = node1;
root1.rightNode = node2;
node1.leftNode = node3;
node1.rightNode = node4;
root1.value = 10;
node1.value = 5;
node2.value = 12;
node3.value = 4;
node4.value = 7;
Q39 test = new Q39();
System.out.println(test.TreeDepth(root1));
}
//递归实现求树的深度
public int TreeDepth(BinaryTreeNode root){
if(root == null){
return 0;
}
int nleft = TreeDepth(root.leftNode);
int nright = TreeDepth(root.rightNode);
//返回树的深度
return (nleft > nright) ? (nleft + 1): (nright + 1);
}
}
import BinaryTree.BinaryTreeNode;
//二叉树的深度
public class Q39 {
/*
* 题目:输入一棵二叉树的根节点,求该树的深度
* 思路:采用递归算法:树的高度=1(根节点)+max{左子树的深度,右子树的深度};
*/
public static void main(String[] args) {
BinaryTreeNode root1 = new BinaryTreeNode();
BinaryTreeNode node1 = new BinaryTreeNode();
BinaryTreeNode node2 = new BinaryTreeNode();
BinaryTreeNode node3 = new BinaryTreeNode();
BinaryTreeNode node4 = new BinaryTreeNode();
root1.leftNode = node1;
root1.rightNode = node2;
node1.leftNode = node3;
node1.rightNode = node4;
root1.value = 10;
node1.value = 5;
node2.value = 12;
node3.value = 4;
node4.value = 7;
Q39 test = new Q39();
System.out.println(test.TreeDepth(root1));
}
//递归实现求树的深度
public int TreeDepth(BinaryTreeNode root){
if(root == null){
return 0;
}
int nleft = TreeDepth(root.leftNode);
int nright = TreeDepth(root.rightNode);
//返回树的深度
return (nleft > nright) ? (nleft + 1): (nright + 1);
}
}
0 0
- Q39:二叉树的深度(递归实现)
- 二叉树的深度,递归和非递归实现
- 二叉树的最小深度(递归)
- 数据结构-二叉树的深度(递归和非递归的实现)
- c++实现二叉树的广度·深度遍历(递归~非递归)
- C++ 实现求二叉树的深度及遍历(递归与非递归算法)
- 二叉树的深度(递归和非递归)---java实现
- 二叉树的深度(递归+非递归)
- 二叉树的深度(递归+非递归)
- 二叉树的深度(递归和非递归)
- 获得二叉树深度的非递归实现
- 判断完全二叉树以及求二叉树深度的递归与非递归算法实现
- 计算二叉树深度函数 递归实现
- 剑指offer之求二叉树的深度(非递归的层次遍历)Java实现
- 二叉树深度优先(DFS)和广度优先(BFS)算法的非递归实现
- 求二叉树深度 -- 递归和非递归实现
- 二叉树的遍历与求深度的递归与非递归实现
- 二叉树深度搜索-递归和非递归的实现(转载)
- 【leetcode】94Binary Tree Inorder Traversal(非递归中序遍历二叉树)
- Linux vi Ctrl+s锁屏解决方法
- 惰性思想处理Ajax低版本IE兼容问题
- Java 数据结构之 三角数据
- java的nio实现
- Q39:二叉树的深度(递归实现)
- 作业补做5
- [linux] vim
- 分配问题(费用流 or KM算法)
- 基于C++的简单的FSM实现
- Java 多线程编程之六:线程之间的通信(附源代码)
- 作业补做4
- bzoj2769 YY的快速排序
- {算法}乱谈线性筛法