中序遍历一棵二叉排序树的结点就可得到排好序的结点序列。这句话对吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中序遍历一棵二叉排序树的结点就可得到排好序的结点序列。这句话对吗?相关的知识,希望对你有一定的参考价值。

对的,中序遍历一棵二叉排序树的结点就可得到排好序的结点序列这句话是没有错误的,因为二叉排序树的根节点大于左子树,小于右子树,然后使用中序遍历算法,中序遍历算法先遍历左子树,然后是根节点,然后是右子树。

根据遍历的特性,所有的先遍历的结点,一定是小于后边遍历的结点,所以说中序遍历一棵二叉排序树的结点就可以得到一个排好序的序列。

扩展资料:

二叉排序树的定义:

一棵空树,或者是具有下列性质的二叉树:

1、若左子树不空,则左子树上所有结点的值均小于它的根结点的值。

2、若右子树不空,则右子树上所有结点的值均大于它的根结点的值。

3、左、右子树也分别为二叉排序树。

4、没有键值相等的结点。

二叉排序树的性能:

每个结点的C(i)为该结点的层次数。最坏情况下,当先后插入的关键字有序时,构成的二叉排序树蜕变为单支树,树的深度为其平均查找长度(n+1)/2(和顺序查找相同),最好的情况是二叉排序树的形态和折半查找的判定树相同,其平均查找长度和log 2 (n)成正比。

最好情况下的算法时间复杂度为O(1),最坏情况下的算法时间复杂度为O(n)。

二叉排序树特点:

树的结构通常不是一次生成的,而是在查找过程中,当树中不存在关键字等于给定值的结点时再进行插入。新插入的结点一定是一个新添加的叶子结点,并且是查找不成功时查找路径上访问的最后一个结点的左孩子或右孩子结点。

参考资料来源:百度百科-二叉排序树

参考技术A

不对,假设一颗二叉树1234567,它的中序遍历序列是1245367。

对二叉排序树中序遍历可得到的序列是有序的,但有时会出现先序和中序列是相同的,这时先序列也是有序的。

或者是一棵具有如下性质的二叉树:

⑴ 若它的左子树非空,则左子树上所有结点的值均小于根结点的值;

⑵ 若它的右子树非空,则右子树上所有结点的值均大于根结点的值;

⑶ 左、右子树本身又各是一棵二叉排序树。二叉排序树的性质: 按中序遍历二叉排序树,所得到的中序遍历序列是一个递增有序序列。

扩展资料:

从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:

(1)访问结点本身(N),

(2)遍历该结点的左子树(L),

(3)遍历该结点的右子树(R)。

以上三种操作有六种执行次序:

NLR、LNR、LRN、NRL、RNL、RLN。

前三种次序与后三种次序对称,故只讨论先左后右的前三种次序。

参考资料来源;百度百科-遍历序列

参考技术B
1.二叉排序树的概念:
二叉排序树是一种动态树表。
二叉排序树的定义:二叉排序树或者是一棵空树,
或者是一棵具有如下性质的二叉树:
⑴ 若它的左子树非空,则左子树上所有结点的值均小于根结点的值;
⑵ 若它的右子树非空,则右子树上所有结点的值均大于根结点的值;
⑶ 左、右子树本身又各是一棵二叉排序树。二叉排序树的性质: 按中序遍历二叉排序树,所得到的中序遍历序列是一个递增有序序列。

参考资料:http://baike.baidu.com/view/547296.htm

参考技术C 不对,假设一颗二叉树1234567,它的中序遍历序列是1245367 参考技术D 对二叉排序树进行中序遍历,可以得到一个递增有序序列。王道书P173原话

《剑指offer》:[63]二叉搜索树的第K个结点