【数据结构树表的查找】二叉排序树详解和代码(生成、插入、查找、最大值、最小值、删除、中序遍历、销毁)

二叉排序树是一种二叉树数据结构,保证左子树值小于根节点,右子树值大于根节点。插入、搜索、删除操作的时间复杂度在最优情况下为O(logn),最坏情况下为O(n)。为了优化查找效率,应该避免形成斜树,考虑使用平衡二叉树。本文引用了《算法导论》等资料进行了详细讲解。
摘要由CSDN通过智能技术生成

二叉排序树(简称BST)又称二叉查找(搜索)树,其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树:

      (1)若它的左子树非空,则左子树上所有记录的值均小于根记录的值;

      (2)若它的右子树非空,则右子树上所有记录的值均大于根记录的值;

      (3)左、右子树本身又各是一棵二叉排序树。

注意:二叉排序树中没有相同关键字的节点。

对二叉排序树进行中序遍历,便可得到一个有序序列,该有序序列中的各元素按照从小到大的顺序排列,因此一个无序序列可以通过构造一棵二叉排序树而变成一个有序序列。

二叉排序树相关操作

二叉排序树的生成、插入、查找、查找最大值、查找最小值、删除、中序遍历、销毁等操作。见下面的代码,注释的非常清楚。直接看代码理解吧。

/*********************************
树表的查找——二叉排序树的相关操作实现(创建,插入,查找,删除)
Author:_牧之  Date:2015年4月27日
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值