鱼C论坛

 找回密码
 立即注册
查看: 673|回复: 1

[已解决]如何证明可以通过先序和中序,或者中序和后序确定唯一一个二叉树

[复制链接]
发表于 2023-4-16 20:52:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
证明:由二叉树的先序序列和中序序列能唯一确定一棵二叉树
证明:由二叉树的后序序列和中序序列能唯一确定一棵二叉树
最佳答案
2023-4-16 20:55:56
我们可以通过归纳法来证明由先序序列和中序序列,或后序序列和中序序列可以唯一确定一棵二叉树。这里我们分别证明这两个结论。

1、由二叉树的先序序列和中序序列能唯一确定一棵二叉树:
证明:
我们可以用归纳法证明这个结论。先看基本情况,当二叉树为空时,先序序列和中序序列都为空,满足唯一性。

现在假设所有节点数小于等于k的二叉树都满足这个结论,我们需要证明当节点数为k+1时,结论依然成立。

设二叉树有k+1个节点,先序序列为{A1, A2, ... , Ak+1},中序序列为{B1, B2, ... , Bk+1}。我们知道先序序列的第一个节点A1是根节点,通过中序序列我们可以找到A1在中序序列中的位置,设为i。则A1左子树的节点在中序序列中的位置是{B1, B2, ... , Bi-1},右子树的节点在中序序列中的位置是{Bi+1, ... , Bk+1}。

由于左子树的节点数目小于等于k,根据归纳假设,左子树可以由先序序列的{A2, ... , A_i}和中序序列的{B1, ... , Bi-1}唯一确定。同样,右子树也可以由先序序列的{A_i+1, ... , Ak+1}和中序序列的{Bi+1, ... , Bk+1}唯一确定。

所以当节点数为k+1时,先序序列和中序序列可以唯一确定一棵二叉树,结论得证。

2、由二叉树的后序序列和中序序列能唯一确定一棵二叉树:
证明:
同样地,我们使用归纳法证明。首先,当二叉树为空时,后序序列和中序序列都为空,满足唯一性。

现在假设所有节点数小于等于k的二叉树都满足这个结论,我们需要证明当节点数为k+1时,结论依然成立。

设二叉树有k+1个节点,后序序列为{A1, A2, ... , Ak+1},中序序列为{B1, B2, ... , Bk+1}。我们知道后序序列的最后一个节点Ak+1是根节点,通过中序序列我们可以找到Ak+1在中序序列中的位置,设为i。则Ak+1左子树的节点在中序序列中的位置是{B1, B2, ... ,Bi-1},右子树的节点在中序序列中的位置是{Bi+1, ... , Bk+1}。

由于左子树的节点数目小于等于k,根据归纳假设,左子树可以由后序序列的{A1, ... , A_i-1}和中序序列的{B1, ... , Bi-1}唯一确定。同样,右子树也可以由后序序列的{A_i, ... , Ak}和中序序列的{Bi+1, ... , Bk+1}唯一确定。

所以当节点数为k+1时,后序序列和中序序列可以唯一确定一棵二叉树,结论得证。

综上,我们证明了由二叉树的先序序列和中序序列能唯一确定一棵二叉树,以及由二叉树的后序序列和中序序列能唯一确定一棵二叉树。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-16 20:55:56 | 显示全部楼层    本楼为最佳答案   
我们可以通过归纳法来证明由先序序列和中序序列,或后序序列和中序序列可以唯一确定一棵二叉树。这里我们分别证明这两个结论。

1、由二叉树的先序序列和中序序列能唯一确定一棵二叉树:
证明:
我们可以用归纳法证明这个结论。先看基本情况,当二叉树为空时,先序序列和中序序列都为空,满足唯一性。

现在假设所有节点数小于等于k的二叉树都满足这个结论,我们需要证明当节点数为k+1时,结论依然成立。

设二叉树有k+1个节点,先序序列为{A1, A2, ... , Ak+1},中序序列为{B1, B2, ... , Bk+1}。我们知道先序序列的第一个节点A1是根节点,通过中序序列我们可以找到A1在中序序列中的位置,设为i。则A1左子树的节点在中序序列中的位置是{B1, B2, ... , Bi-1},右子树的节点在中序序列中的位置是{Bi+1, ... , Bk+1}。

由于左子树的节点数目小于等于k,根据归纳假设,左子树可以由先序序列的{A2, ... , A_i}和中序序列的{B1, ... , Bi-1}唯一确定。同样,右子树也可以由先序序列的{A_i+1, ... , Ak+1}和中序序列的{Bi+1, ... , Bk+1}唯一确定。

所以当节点数为k+1时,先序序列和中序序列可以唯一确定一棵二叉树,结论得证。

2、由二叉树的后序序列和中序序列能唯一确定一棵二叉树:
证明:
同样地,我们使用归纳法证明。首先,当二叉树为空时,后序序列和中序序列都为空,满足唯一性。

现在假设所有节点数小于等于k的二叉树都满足这个结论,我们需要证明当节点数为k+1时,结论依然成立。

设二叉树有k+1个节点,后序序列为{A1, A2, ... , Ak+1},中序序列为{B1, B2, ... , Bk+1}。我们知道后序序列的最后一个节点Ak+1是根节点,通过中序序列我们可以找到Ak+1在中序序列中的位置,设为i。则Ak+1左子树的节点在中序序列中的位置是{B1, B2, ... ,Bi-1},右子树的节点在中序序列中的位置是{Bi+1, ... , Bk+1}。

由于左子树的节点数目小于等于k,根据归纳假设,左子树可以由后序序列的{A1, ... , A_i-1}和中序序列的{B1, ... , Bi-1}唯一确定。同样,右子树也可以由后序序列的{A_i, ... , Ak}和中序序列的{Bi+1, ... , Bk+1}唯一确定。

所以当节点数为k+1时,后序序列和中序序列可以唯一确定一棵二叉树,结论得证。

综上,我们证明了由二叉树的先序序列和中序序列能唯一确定一棵二叉树,以及由二叉树的后序序列和中序序列能唯一确定一棵二叉树。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 10:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表