参考答案: C
详细解析:
本题考查数据结构方面的基础知识。
二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:
① 若它的左子树非空,则其左子树上所有节点的关键字均小于根节点的关键字;
② 若它的右子树非空,则其右子树上所有节点的关键字均大于根节点的关键字;
③ 左、右子树本身就是两棵二叉排序树。
由上述定义可知,二叉排序树是一个有序表,对二叉排序树进行中序遍历,可得到一个关键字递增排序的序列。
对于给定的关键字序列,可从空树开始,逐个将关键字插入树中,来构造一棵二叉排序树。其过程为:每读入一个关键字值,就建立一个新节点。若二叉排序树非空,则将新节点的关键字与根节点的关键字相比较,如果小于根节点的值,则插入到左子树中,否则插入到右子树中;若二叉排序树为空树,则新节点作为二叉排序树的根节点。
显然,若关键字初始序列已经有序,则构造出的二叉排序树一定是单枝树(每个节点只有一个孩子)。
为了使在二叉排序树上进行的查找操作性能最优,构造二叉排序树时需进行平衡化处理,使每个节点左、右子树的高度差的绝对值不超过1。