问题 问答题

依次输入表(30,15,28,20,24,10,12,68,35,50,46,55)中的元素,生成一棵二叉排序树。
(1)试画出生成之后的二叉排序树;
(2)对该二叉排序树作中序遍历,试写出遍历序列;
(3)假定每个元素的查找概率相等,试计算该二叉排序树的平均查找长度。

答案

参考答案:二叉排序树定义:二叉排序树是一棵二叉树,它或者为空,或者具有如下性质:1>任一非终端结点若有左孩子,则该结点的关键字值大于其左孩子结点的关键字值;2>任一非终端结点若有右孩子,则该结点的关键字值小于其右孩子结点的关键字值。是一种常用的动态查找表,上面首先给出了它的非递归形式。
二叉排序树也可以用递归的形式定义,即二叉排序树是一棵树,它或者为空,或者具有如下性质:1>若它的左子树非空,则其左子树所有结点的关键字值均小于其根结点的关键字值;2>若它的右子树非空,则其右子树所有结点的关键字值均大于其根结点的关键字值;3>它的左右子树都是二叉排序树。
2)构造二叉排序树:一个无序序列可以通过构造一棵二叉排序树,然后再对这棵二叉树进行中序遍历,即可以变成有序序列。构造树的过程即为对无序序列进行排序的过程。
此题生成的二叉排序树如图所示:
(1)


(2)中序遍历序列为:10,12,15,20,24,28,30,35,46,50,55,68
(3)平均查找长度为:ASL=(1+2*2+3*3+4*3+5*3)/12=41/12。

单项选择题
单项选择题