永发信息网

根据先序和中序,画出二叉树

答案:1  悬赏:0  手机版
解决时间 2021-11-08 01:59
根据先序和中序,画出二叉树
最佳答案
二叉树示意图:

          A
       /     
      B       F
     /        
    E   C       G
              /                      
          D   H    J
               
                I

先序遍历序列: ABECDFGHIJ
中序遍历序列: EBCDAFHIGJ
后序遍历序列: EDCBIHJGFA


//C语言测试程序

#include "stdio.h"
#include "stdlib.h"
struct tree
{
    char data;
    struct tree *left;
    struct tree *right;
};
typedef struct tree treenode;
typedef treenode *btree;

btree createbtree(char *data,int pos,int maxPos) //递归创建法
{
    btree newnode;

    if(data[pos]==0 || pos>maxPos)
    {
        return NULL;
    }
    else
    {
        newnode=(btree)malloc(sizeof(treenode));
        newnode->data=data[pos];
        newnode->left=createbtree(data,2*pos,maxPos);
        newnode->right=createbtree(data,2*pos+1,maxPos);
        return newnode;
    }
}

void inorder(btree ptr)
{
    if(ptr!=NULL)
    {
        inorder(ptr->left);
        printf("%C ",ptr->data);
        inorder(ptr->right);
    }
}

void preorder(btree ptr)
{
    if(ptr!=NULL)
    {
        printf("%C ",ptr->data);
        preorder(ptr->left);
        preorder(ptr->right);
    }
}

void postorder(btree ptr)
{
    if(ptr!=NULL)
    {
        postorder(ptr->left);
        postorder(ptr->right);
        printf("%C ",ptr->data);
    }
}

int main()
{
    btree root=NULL;
    int i;

    char data[32]={0,'A','B','F','E','C',0,'G',
                   0,0,0,'D',0,0,'H','J',
                   0,0,0,0,0,0,0,0,
                   0,0,0,0,0,'I',0,0};
    root=createbtree(data,1,31);
    printf("二叉树的顺序存储内容: ");
    for(i=1;i<16;i++)
    {
        if(data[i]==0)
        {
            printf("^ ");
        }
        else
        {
            printf("%c ",data[i]);
        }
    }

    printf("
先序遍历序列: ");
    preorder(root);
    printf("
中序遍历序列: ");
    inorder(root);
    printf("
后序遍历序列: ");
    postorder(root);

    printf("
");
    return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
这是希岛爱理的哪部车牌?
男生对女生说“汗”什么意思网络里什么意思
桃江六中的中考录取线是多少?
伊朗最高领袖下令说了什么?
2019是否取消音舞系艺考
指甲盖整个掉了 还能长出来么?
求带有莹字的诗句做网名
什么是消防联动控制系统?
金尚化妆工作室地址有知道的么?有点事想过去
李连杰代言的广告有哪些?
废矿山可以建养殖吗?我承包了一个废弃的矿山
代表四季的诗词
t的三次方乘以根号下t的平方加2怎么积分
我国卫生部在哪
普宁市普菲特健身俱乐部环境怎么样
推荐资讯
山茶油煮鸡蛋对人体有什么好处?
保山昌宁大队科目二考试地址在哪,我要去那里
金牌竞技场竞速跑如何跑那么快
女生胸围从A到E一般怎么分?
诗歌每个人的心里都有一个空
读图,判断下列说法中不正确的是(  )A.
据我所知说xp是基督教曾经的标志是不是?
吃饭的时候不小心溅了一滴汤,到眼睛里面,好
新鲜目鱼如何制成目鱼干
红烧油同鱼怎么做好吃
5.8×3.7+0.58×42+58×0.21
瘦肉炖汤的做法步骤图,瘦肉炖汤怎么做好吃
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?