二叉树 --- Java实现
来源:互联网 发布:js给div设置id 编辑:程序博客网 时间:2024/06/04 18:13
一、概述
树是一种重要的非线性数据结构,直观的看,它是数据元素(在树中成为节点)按分支关系组织起来的结构。二叉树(BinaryTree)是每个节点最多有两个子树的有序树,通常子树被称作“左子树”和“右子树”。
二、二叉树算法的排序规则
1、选择第一个元素作为根节点
2、之后选择大于根节点的放在右子树,如果元素小于根节点,则放在左子树
3、最后按照 中序遍历 的方式进行输出,则可以得到排序的结果(左、根、右)
2、之后选择大于根节点的放在右子树,如果元素小于根节点,则放在左子树
3、最后按照 中序遍历 的方式进行输出,则可以得到排序的结果(左、根、右)
8、3、10、1、6、14、4、7、13
三、代码示例
public class BinaryTreeDemo {public static void main(String[] args) {BinaryTree bt = new BinaryTree();bt.addNode(8);bt.addNode(3);bt.addNode(10);bt.addNode(1);bt.addNode(6);bt.addNode(14);bt.addNode(4);bt.addNode(7);bt.addNode(13);bt.printNode();}}
public class BinaryTree {private Node root;public void addNode(int data){if(root == null){root = new Node(data);}else{root.add(data);;}}public void printNode(){if(root!=null){root.print();}}private class Node{private int data;private Node left;private Node right;public Node(int data){this.data = data;}public void add(int data){if(this.data > data){if(this.left == null){this.left = new Node(data);}else{this.left.add(data);}}else if(this.data<=data){if(this.right==null){this.right = new Node(data);}else{this.right.add(data);}}}//中序遍历:左 根 右public void print(){if(this.left!=null){this.left.print();}System.out.print(this.data+"->");if(this.right!=null){this.right.print();}}}}
0 0
- JAVA 实现二叉树
- 二叉树 java实现
- 二叉树实现-java
- JAVA 实现二叉树。
- 二叉树Java实现
- java实现二叉树
- 二叉树Java实现
- Java实现二叉树
- Java实现二叉树
- 二叉树java实现
- java 实现二叉树
- 二叉树--java实现
- Java实现二叉树
- java实现二叉树
- 二叉树Java实现
- java实现二叉树
- 二叉树java实现
- java实现二叉树
- 部件的透明性
- 【DP】poj1037
- python打包exe
- Pig_6. 数据摄取 & 输出 -- Protocel Buffer -- 待完善(腾讯 TDW 项目)
- 三阶贝塞尔曲线拟合1/4圆
- 二叉树 --- Java实现
- Struts2文件下载时,中文文件名和chorm不兼容问题
- EditText在Dialog中得到焦点并全部选中且弹出软件键盘
- hdu_1455_sticks
- HD_1247Hat’s Words (字典树)
- codeforces 416D Population Size
- 快学scala习题(七)-----包
- Day 26: TogetherJS —— 让我们一起来编程!
- 网站整合CKEditor和CKFinder(Java版)