数据结构·二叉排序树(创建、插入、删除)

本文详细介绍了二叉排序树(又称二叉查找树)的概念,并提供了C++实现,包括插入、删除、查找等操作。通过示例代码展示了如何创建、遍历和维护一个二叉排序树,同时涵盖了先序、中序、后序和层次遍历。此外,还提供了删除节点的功能,确保树保持排序性质。
摘要由CSDN通过智能技术生成

什么是二叉排序树:

二叉排序树(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 &
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白凤倚剑归

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值