7-2 其余的一些树-排序二叉树-霍夫曼树

7-2 其余的一些树

1、二叉排序树

二叉排序树可以通过递归的方法来定义,它或者是空二叉树,或者是具有如下定义的二叉树:

左子树上所有节点的关键字均小于根节点的关键字右子树上所有节点的关键字均大于等于根节点的关键字

左子树和右子树本身又各是一颗二叉排序树

二叉排序树的生成

从二叉排序树的定义中可以得出一个重要性质:

按中序遍历该树所得的中序序列是一个递增有序列!因此二叉排序树常用来对数据进行排序操作。利用二叉排序树来组织数据,可以减少数据查找次数,提高效率。

由给定的数据序列生成二叉排序树的过程是在二叉排序树上插入节点的过程,对一个序列{k1, k2, k3 ,..., kn},先设一颗空二叉排序树,然后将序列中的元素顺次生成节点后逐个插入。

第一步:k1作为二叉排序树的根;

第二步:若k2 < k1, 则k2 所在节点应插入到k1的左子树上;否则,插入到k1的右子树上。

第三步:读入 ki,如果 ki<k1,则进入左子树,反之进入右子树;继续与子树之根节点比较,直到某节点kj, 若有 ki<kj 且 kj的左子树为空,则ki插入到kj的左子树上; 若ki>=kj 且 kj的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值