• 写颗搜索二叉树动动脑,开启今年的旅程,新年快乐


    没事总喜欢写二叉树, 发现这东西把脑袋开启

    今年任务, 加密安全字符集, 内存篇,网络篇,数据存储篇,加油

    package com.he.test;
    
    /**
     * 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层
     

    转载于:https://my.oschina.net/u/867417/blog/832555

  • 相关阅读:
    Web Service 其他服务器检测不到查询测试按钮
    设计模式的原则
    适配器模式
    css局部概念的理解:
    编辑并列DIV
    数据可视化 seaborn绘图(1)
    机器学习笔记(3) 随机森林
    机器学习笔记(2) 集成学习 随机森林先导知识
    机器学习笔记(1)决策树
    【转】各种开源协议及其关系
  • 原文地址:https://www.cnblogs.com/twodog/p/12141343.html
Copyright © 2020-2023  润新知