二叉搜索树

1.树的定义

树结构是一种非常重要的非线性结构,该结构中的一个数据元素可以有两个或两个以上的直接后继元素,树可以用来描述客观世界中广泛存在的层次结构关系。 输的定义如下:

(1)树是n(n>=0)个结点的有限集合,当n=0时称为空树;

(2)在任一非空树(n>0)中,有且仅有一个称为根的结点;

(3)其余结点可分为m(m>=0)个互不相交的有限子集T1,T2,T3,...Tm,其中,每个Ti又都是一棵树,并且称为根结点的子树。

如下图1-1所示,为树的结构示意图。

                                                                                               图1-1 某树的结构图

2.树的基本概念

(1)双亲、孩子、兄弟。结点的子树的根称为该结点的孩子;相应地,该结点称为子结点的双亲。具有相同双亲的结点互为兄弟。

(2)结点的度。一个结点的子树的个数记为该结点的度。例如图1-1中,A的度为3,B的度为2,C的度为0,D的度为0。

(3)叶子结点。叶子结点也称为终端结点,指度为0的结点。例如,图1-1中,E、F、C、D都是叶子结点。

(4)内部结点。度不为0的结点,也称为分支结点或非终端结点。除根节点以外,分支结点也称为内部结点。例如,图1-1中,B为内部结点。

(5)结点的层次。根为第一层,根的孩子为第二层,依此类推,若某结点在第i层,则其孩子结点在第i+1层。例如,图1-1中,A在第1层,B、C、D在第2层,E、F在第3层。

(6)树的高度。一棵树的最大层数记为树的高度或深度。例如,图1-1中的书深度为3。

(7)有序树和无序树。若将书中结点的各子树看成是从左到右具有次序的,即不能交换,则称该树为有序树,否则称为无序树。

3.二叉树的定义

二叉树是n(n>=0)个结点的有限集合,它或者是空树,或者是由一个根节点及两颗不相交的且分别称为左、右子树的二叉树所组成。二叉树结点的最大度为2。

4.二叉搜索树

一棵二叉搜索树满足下面条件:

(1)所有左分支的值都小于本结点的值;

(2)本结点的值小于所有右分支的值。

如图4-1所示,就是一棵二叉搜索树:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值