【问题标题】:sorted result of inorder traversal on binary tree二叉树中序遍历的排序结果
【发布时间】:2013-05-10 01:05:27
【问题描述】:

我有一个关于二叉树的问题:

有一棵二叉树 T1 有 n 个成员。 当我们在 T1 上运行中序遍历时,我们会得到一个从 1 到 n (1,2,3,...n) 的序列。 现在 T1 是 BST(二叉搜索树)吗?

我知道如果 T1 是 BST,则中序遍历将产生排序序列,但是相反的方向是否也可以工作?

【问题讨论】:

  • 相反方向是什么意思?

标签: data-structures binary-tree binary-search-tree


【解决方案1】:

总之是的..

二叉搜索属性是左树上的每个节点都较小,而右边的每个节点都较大。

考虑到在您的情况下的任何子树,因为我们正在按顺序遍历并且看到它们之前的每个元素都较小,并且在向右移动时我们正在上升,我们有 BST...

【讨论】:

    【解决方案2】:

    这听起来太家庭作业,所以没有直接的答案。但是:

    假设根的值为k

    现在试试这个:在顺序遍历中出现在k 左侧的节点是什么意思?右边?

    另外,出现在k 之前的数字都小于k。这对这个问题有什么帮助?

    【讨论】:

    • 对我有帮助,因为在中序遍历中,我们检查左子树,然后是根,然后是右子树。然后我意识到这个问题是多么容易。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    相关资源
    最近更新 更多