首页 > 试题广场 >

设结点 x 和 y 是二叉树中的任意两结点,若在先根序列中

[单选题]

设结点 x y 是二叉树中的任意两结点,若在先根序列中 x y 之前,而后根序列中 x y 之后,则 x y 的关系是


  • x是y的左兄弟
  • x是y的右兄弟
  • x是y的祖先
  • x是y的后代
先根序列  x在y前 说明  x要么是y的左兄弟, 要么是y的祖先,  排除BD
后根序列  x在y后 说明  x要么是y的右兄弟, 要么是y的祖先, 与A冲突  所以选C 
发表于 2017-08-21 16:40:33 回复(1)
这种题的思路都是一样的:先序:根左右;后序:左右根。先序x在前,y在后--->x(根),y(左或右)
后序x在后,y在前--->x(根),y(左或右),就可以退出x为根结点,y为左孩子或右孩子
发表于 2019-09-05 10:15:54 回复(0)
画图吧,根据ABCD用一个三个节点图验证下,30秒出答案
发表于 2018-06-14 14:20:42 回复(0)
A:如果 x是y的左兄弟,那么对于树的先序遍历是根左右,必然x在y的前面,对于后序遍历是左右根,必然x仍然在y的前面
B:如果x是y的右兄弟,那么对于树的先序遍历是根左右,必然y在x的前面,对于后序遍历是左右根,必然y仍然在x的前面
C:如果x是y的祖先那么对于树的先序遍历是根左右,必然x在y的前面(先遍历根节点),对于后序遍历是左右根,必然y在x的前面(后遍历根节点)
D:如果x是y的后代那么对于树的先序遍历是根左右,必然y在x的前面(先遍历根节点),对于后序遍历是左右根,必然x在y的前面(后遍历根节点)
综上分析:正确答案是 C
发表于 2017-07-29 16:49:14 回复(0)