一、二叉排序树
在建立二叉树的同时,数据已经经过初步的比较,并按照二叉树的建立规则来存放数据,规则如下:
- 第一个输入数据作为根节点
- 之后的数据以递归的方式与树根进行比较,小于树根置于左子树,大于树根置于右子树
按照上述规则建立好二叉树后,只要利用中序遍历方式就可得到由小到大排序好的数据。如果想得到由大到小排列,可将最后结果置于堆栈内再POP出来。
二、二叉搜索树
如果一个二叉树符合“每一个节点的数据大于左子树节点且小于右子树节点”,称这样的树为二分树,二分树便于排序和搜索。只需在二叉排序树中将要搜索的值与树根进行比较,若小于树根,则往左子树走进行比较,若大于树根则往右子树走进行比较。
二叉搜索树的搜索过程为,首先建立一棵二叉排序树,输入要寻找的值,若找到则显示搜索的次数,若找不到则显示提示信息。
我们编写boolean FindTree(TreeNode node,int value)函数来进行搜索,将树根和待搜索值传递给函数,具体代码如下:
/*在二叉树中搜索值value*/
public static boolean FindTree(TreeNode node,int valu