今年上班第一天,用一颗查找二叉树开启脑洞
2017-02-06 17:11
363 查看
package com.he.test; import java.util.HashMap; import java.util.Map; /** * happy new year * * @author hejb * */ public class Start { class Node { public Node(long value, int level) { this.value = value; this.level = level; } public Long value; public int level; public Node leftNode; public Node rigtNode; } public static long max = 7; public static Node root; public Start(long value) { root = new Node(value, 0); } public void insetTree(Node node, long value, int level) { level++; if (value < node.value) { if (node.leftNode == null) { Node nodeItem = new Node(value, level); node.leftNode = nodeItem; } else { insetTree(node.leftNode, value, level); } } else { if (node.rigtNode == null) { Node nodeItem = new Node(value, level); node.rigtNode = nodeItem; } else { insetTree(node.rigtNode, value, level); } } } // 前序遍历 public void printNode(Node node) { System.out.println("节点值:" + node.value + ",属于树的第--->" + node.level + "层"); if (node.leftNode != null) { printNode(node.leftNode); } if (node.rigtNode != null) { printNode(node.rigtNode); } } public void printTree() { printNode(root); } public void insert(int value) { insetTree(root, value, 0); } public static void main(String[] args) { Start s = new Start(5); s.insert(4); s.insert(6); s.insert(3); s.insert(10); s.insert(8); s.insert(5); s.printTree(); } }
今年上班第一天,用一颗查找二叉树开启脑洞
应该是这颗
5
4 6
3 5 8
1
输出如下
节点值:5,属于树的第--->0层
节点值:4,属于树的第--->1层
节点值:3,属于树的第--->2层
节点值:6,属于树的第--->1层
节点值:5,属于树的第--->2层
节点值:10,属于树的第--->2层
节点值:8,属于树的第--->3层
相关文章推荐
- 写颗搜索二叉树动动脑,开启今年的旅程,新年快乐
- 判断一颗二叉树是不是查找二叉树
- 今年的6月1日,我大学的兄弟第一天上班
- 写颗搜索二叉树动动脑,开启今年的旅程,新年快乐
- 2017年2月7日 今年第一天上班了
- 大学毕业生上班第一天6月3号码
- 【二叉树】二叉搜索树创建、插入、删除、查找等操作
- 二叉树编程专题--查找最低公共父节点
- 信息学奥赛一本通 查找二叉树
- python实现二叉树实现查找
- 新年上班第一天,我的 IDE 挂了
- 第一天来公司上班
- 上班第一天(5)--一个程序员的成长史(14)
- 2015年大二上-数据结构-查找-1-(4)-二叉树排序树中查找的路径
- 查找二叉树的基本操作以及层次遍历
- 题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶结点所经过的结点形成一条路径。
- 判断一颗二叉树是否是平衡二叉树
- 二叉树查找
- java查找算法_003二叉树查找
- 上班 第一天