今年上班第一天,用一颗查找二叉树开启脑洞

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层

你可能感兴趣的:(今年上班第一天,用一颗查找二叉树开启脑洞)