- 主题:为什么中序遍历+后序,或者中序+前序就能唯一确定一颗二叉树
这是什么道理
--
FROM 183.197.194.*
前序第一个元素一定是根,然后在中序中找到这个元素,中序中这个元素前面的一定属于根的左子树,后面的一定属于右子树。如果中序中根元素前面有n个元素,那么,左子树就有n个节点。然后前序除第一个元素外往后数n个,就是左子树的前序,剩余的为右子树的前序。这样下来,就确定了根节点,左子树的中序和前序,右子树的中序和前序,递归下去,就能还原整个二叉树。
中序加后序同理。
当然,唯一确定的前提是序列中的元素值都是唯一的。
【 在 DorD 的大作中提到: 】
: 这是什么道理
: --
:
发自「今日水木 on iPhone 20 plusplus」
--
FROM 114.254.0.*
【 在 fensefa 的大作中提到: 】
: 前序第一个元素一定是根,然后在中序中找到这个元素,中序中这个元素前面的一定属于根的左子树,后面的一定属于右子树。如果中序中根元素前面有n个元素,那么,左子树就有n个节点。然后前序除第一个元素外往后数n个,就是左子树的前序,剩余的为右子树的前序。这样下来,就确定了根节点,左子树的中序和前序,右子树的中序和前序,递归下去,就能还原整个二叉树。
: 中序加后序同理。
: 当然,唯一确定的前提是序列中的元素值都是唯一的。
: ...................
万分感谢
--
FROM 36.143.51.*
结论不对哦,要求元素都不同才行。元素重复就有歧义,极端情况是所有元素都相同,那怎么遍历结果都一样
【 在 DorD 的大作中提到: 】
: 这是什么道理
: --
: FROM 183.197.194.*
--
FROM 124.64.18.*
【 在 milksea 的大作中提到: 】
: 结论不对哦,要求元素都不同才行。元素重复就有歧义,极端情况是所有元素都相同,那怎么遍历结果都一样
主要指的是根节点的值吗
--
FROM 183.197.194.*