什么是二叉排序树:
二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是中的一类。在一般情况下,查询效率比链表结构要高。
PS:
这里就不多说了,相信大家都有资料,这边直接上代码,代码里有详细的介绍,希望能帮助到大家
代码测试:
10
66
12
5
80
1
66
30
100
71
3
30
50
代码部分:
//二叉排序树性质
//1.若它的左子树不为空,则左子树上的所有结点的值均小于它的根结点的值
//2.若它的右子树不为空,则右子树上的所有结点的值均大于它的根节点的值
//3.它的左右子树也是二叉排序树
#include<iostream>
#include<queue>
#include<stack>
using namespace std;
//定义二叉排序树结点
struct BSTNode
{
int data;
BSTNode* lchild;
BSTNode* rchild;
};
//插入函数
void Insert(BSTNode*& T, int data) {//因为要不断地改变指针,所以要用二级指针
BSTNode* s;
//如果是空树的话,直接插入到根节点
if (!T) {
s = new BSTNode;
s->data = data;
s->lchild = s->rchild &