
二进制排序树的定义:
二进制排序树是具有以下属性的空树或二进制树:
(1)如果左子树不为空,则左子树上所有节点的值小于其根节点的值;

(2)如果右子树不为空,则右子树上所有节点的值都大于其根节点的值;
(3)左右子树也是二进制排序树;
(4)没有节点具有相等的键值.

如下:

穿刺方法:

树遍历方法通常具有以下方法:
(1)层次遍历: 按照树的级别遍历,如树所示: 8、3、10、1、6、14、4、7、13
(2)顺序遍历: 节点遍历顺序为当前节点,左节点和右节点. 图树: 8、3、1、6、4、7、10、14、13

(3)中序遍历: 节点遍历顺序为左节点,当前节点,右节点. 图片树: 1、3、4、6、7、8、10、13、14
(4)后续遍历: 节点遍历顺序为左节点,右节点,当前节点. 如树所示: 1,4,7二叉排序树 建立,6二叉排序树 建立,3,8,13,14,10
代码实现:
(1)节点定义: Node.java
package com.lee.wait;
/**
* Node 二叉树上的节点
* @author wait
*
*/
public class Node {
/**
* 节点的数据,这里我们用一个int表示
*/
public int data;
/**
* 节点的左孩子
*/
public Node left;
/**
* 节点的右孩子
*/
public Node right;
/**
* 构造函数,data初始化节点的值
* @param data
*/
public Node(int data){
this.data=data;
}
/**
* 默认构造函数,data=0
*/
public Node(){
this(0);
}
}
(2)二进制排序树类BTree.java
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-190617-1.html
巴菲特笑扶狗头