写颗搜索二叉树动动脑,开启今年的旅程,新年快乐
2017-02-06 16:49
302 查看
没事总喜欢写二叉树, 发现这东西把脑袋开启
今年任务, 加密安全字符集, 内存篇,网络篇,数据存储篇,加油
应该是生成下面这个树
今年任务, 加密安全字符集, 内存篇,网络篇,数据存储篇,加油
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
相关文章推荐
- 写颗搜索二叉树动动脑,开启今年的旅程,新年快乐
- 今年上班第一天,用一颗查找二叉树开启脑洞
- (Swift 实现)AVL树(自平衡搜索二叉树)创建,插入
- 趋势2012:新一代搜索涌现 3D打印开启新时代
- 二叉树的深度优先搜索和广度优先搜索
- Validate Binary Search Tree 验证是二叉树否为搜索树
- 广度优先搜索二叉树
- 搜索二叉树创建、遍历、查找
- 算法导论第十二章关于搜索二叉树的建立,查询,查找最大最小元素值,查找给定结点的直接后继
- c++实现搜索二叉树
- javascript 搜索二叉树
- 迷失の搜索树(二叉树)
- 23rd Feb: 数组(搜索专题)和二叉树(Path Sum专题)
- 二叉树的建立(根据遍历结果构建)、遍历(非递归)和搜索
- 搜索二叉树的建立
- 面试题20:搜索二叉树可能有两个元素发生了交换,如何恢复BST?
- hdu 5444 构建二叉树,搜索二叉树
- 求二叉树中两个节点的最近公共祖先(三叉链,搜索树,普通二叉树)
- 用递归的方法进行二叉树的搜索和插入
- 二叉树 深度优先搜索 宽度优先搜索