| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1352 人关注过本帖
标题:由扩展二叉树中序序列或者后序序列来构建一个二叉树
只看楼主 加入收藏
scau_grated
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2012-1-17
结帖率:40%
收藏
已结贴  问题点数:10 回复次数:6 
由扩展二叉树中序序列或者后序序列来构建一个二叉树
见得最多的都是由二叉树的前序和中序序列来构建一个个二叉树;或者由一个扩展二叉树的前序序列来构建二叉树,但是只输入一个扩展二叉树的中序序列能不能建树呢?只输入
输入扩展前序序列然后用递归的方法是能建树的,书上说由输入扩展中序序列或者扩展后序序列,用递归也是能建树的,但是就是想不出来,求指教


void create1(struct BTree* *T) //扩展前序构建二叉树
{
    char ch;
    scanf("%c",&ch);
    if(ch=='#') (*T)=NULL;
    else
    {
        (*T)=(struct BTree*)malloc(LEN);
        if( !(*T) )  return ;
        (*T)->data=ch;
        create1(&(*T)->lchild);
        create1(&(*T)->rchild);
    }
}

例:
扩展前序序列:AB#D##C##
扩展中序序列: #B#D#A#C#
扩展后序序列后序:###DB##CA

只输入扩展中序序列或者只输入扩展后序序列,用递归或者其他方法,能不能建树???书上说可以的但是想不出来…………
搜索更多相关主题的帖子: void return 二叉树 
2012-02-25 22:29
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:7 
递归是可以的。递归还好玩一些。

我的书上有这个代码。没法帮你贴。
自己网上找吧。

用心做一件事情就这么简单
2012-02-26 01:26
scau_grated
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2012-1-17
收藏
得分:0 
回复 2楼 小鱼儿c
上网找不到啊………………
能大概说说嘛或者辛苦打一下,谢谢
2012-02-26 22:34
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
好吧,我明天给你打一下吧。。


递归还好理解些,怎么会没有找到啊。。。

用心做一件事情就这么简单
2012-02-27 00:41
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
二叉树先根次序周游的递归算法
void preOder(BinTree t)
    if(t==NULL)return;
visit(root(t));// 你自己定义的操作 可以打印也可以删除 ====
preOreder(leftChild(t));
preOreder((rightChild(t)));


其他的类似只是visit(t)的顺序不一样而已

用心做一件事情就这么简单
2012-02-27 15:45
scau_grated
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2012-1-17
收藏
得分:0 
回复 5楼 小鱼儿c
这个是遍历的递归算法吧…………我要的是建树的递归算法………………
2012-02-28 13:02
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
建树递归可以看c语言大学教程的树的内容

用心做一件事情就这么简单
2012-02-28 20:38
快速回复:由扩展二叉树中序序列或者后序序列来构建一个二叉树
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024820 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved