24小时热门版块排行榜    

CyRhmU.jpeg
查看: 709  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

秦时明月s

金虫 (小有名气)


[交流] 【求助】关于二叉树的遍历问题?

今天看数据结构的时候,发现一句话不理解,请教各位?麻烦了?
若一个节点是某子树在中序下的最后一个节点,则它必是该子树在先序下的最后一个节点。
若 A为某树的根节点,B为左孩子,B的右孩子为C,B没有左孩子。。
那先序遍历为 ABC
   中序遍历为 BCA
那么 中序遍历的最后一个节点,为什么不是先序遍历的最后一个节点??
不知道,大家看明白了没有。。在这里先谢谢大家了

  题目是:在中序线索二叉树上查找任意节点在先序下的后继
算法如下:
typedef enum PointerTag { Link, Thread};
typedef struct BiThrNode{
         TElemType       data;
         struct BiThrNode   *lchild ,*rchild;
         PointerTag            LTag, RTag;

          } BiThrNode, * BiThrTree;



BiThrTree  IPrePostNode(BiThrTree head,BiThrTee p) {
//中序线索二叉树上寻找节点P的先序后继节点,head 为线索树的头结点
   BiThrTree post;
   if(p->LTag==0)  post=p->lchild;
  else{
               post=p;
              while(post->RTag==1&&post->rchild!=head)
                post=post->rchild;
                 post=post->rchild;
                }
            return(post);
}


[ Last edited by 秦时明月s on 2011-4-4 at 19:50 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


秦时明月s(金币+5): 我觉得也不满足,但是题目是这么说的,你图用啥做的?PS? 2011-04-04 23:46:21
引用回帖:
Originally posted by 秦时明月s at 2011-04-04 19:51:06:
是中序线索二叉树啊。。 我具体了题目,麻烦了

中序遍历二叉树只是二叉树的一种表达方法啊...

像你给的例子,图应该是


然后结果是,对于这种二叉树不满足你1楼说的那个中序最后节点和先序最后节点一样的条件
4楼2011-04-04 21:35:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

sudo

木虫 (正式写手)


秦时明月s(金币+5): 2011-04-04 19:54:28
原文是什么?“若一个节点是某子树在中序下的最后一个节点,则它必是该子树在先序下的最后一个节点”

里面的树指的是“什么树”,更具体地,指的是“什么种类的二叉树”?

另外你举的例子的分析结果是对的,至于为什么和这句话矛盾,需要仔细考察一下上面的问题
2楼2011-04-04 19:28:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

秦时明月s

金虫 (小有名气)


引用回帖:
Originally posted by sudo at 2011-04-04 19:28:38:
原文是什么?“若一个节点是某子树在中序下的最后一个节点,则它必是该子树在先序下的最后一个节点”

里面的树指的是“什么树”,更具体地,指的是“什么种类的二叉树”?

另外你举的例子的分析结果是对的, ...

是中序线索二叉树啊。。 我具体了题目,麻烦了
3楼2011-04-04 19:51:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

久久_2011

新虫 (正式写手)


秦时明月s(金币+2): 推了,不对啊。。。 2011-04-04 23:54:50
你试着按算法一步步推一遍看
不要想当然
严格按算法走
一试便知
5楼2011-04-04 23:16:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见