前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法练习(8) - 二叉树递归

算法练习(8) - 二叉树递归

作者头像
惊羽-布壳儿
发布2022-06-15 16:05:42
1630
发布2022-06-15 16:05:42
举报
文章被收录于专栏:惊羽-布壳儿

含义

二叉树是一种常见的数据结构,由根节点自上而下,通过比较,将数据按照和父节点比较结果大右小左的插入的一种数据结构.

二叉树的一些基本方法手写

代码语言:javascript
复制
// define data structure
public class BinaryTreeNode{
	Integer value;
	BinaryTreeNode left;
	BinaryTreeNode right;
	
	// 插入节点
	public static insertNode(BinaryTreeNode treeNode , Integer value){
	
		if(treeNode.value == null){
			treeNode.value = value;
		}
		if(treeNode.value > value ){
			if(treeNode.left == null){
				BinaryTreeNode node = new BinaryTreeNode();
			}
			insertNode(node,value);
		}
		if(treeNode.value < value ){
			if(treeNode.right == null){
				BinaryTreeNode node = new BinaryTreeNode();
			}
			insertNode(node,value);
		}
	}
	
	// 先序遍历
	public static void foreachpreOrder(BinaryTreeNode tree){
		if(tree != null){
			System.out.println(node.value);
			// do something ...
		}else{
			return;
		}
		foreachpreOrder(tree.left);
		foreachpreOrder(tree.right);
	}
	
	// 求深度
	public static void findPath(BinaryTreeNode tree){
		if(tree == null){
			return 0;
		}
		int leftDepth = findPath(node.left);
		int rightDepth = findPath(node.right);
		return leftDepth > rightDepth ? leftDepth + 1 : rightDepth + 1;
	}
}


public class Test01{
	public static void main(String args[]){
		BinaryTreeNode binaryTree = new BinaryTreeNode();
		BinaryTreeNode.insertNode(binaryTree, 6);
		BinaryTreeNode.insertNode(binaryTree, 4);
		BinaryTreeNode.insertNode(binaryTree, 5);
		BinaryTreeNode.insertNode(binaryTree, 1);
		BinaryTreeNode.insertNode(binaryTree, 3);
		BinaryTreeNode.insertNode(binaryTree, 7);
		// 先序遍历
		BinaryTreeNode.foreachpreOrder(binaryTree);
		// 求深度
		BinaryTreeNode.findPath(binaryTree);
		
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 含义
  • 二叉树的一些基本方法手写
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档