二叉树的建立及其遍历实验报告

更新时间:2023-06-30 14:33:44 阅读: 评论:0

       
数据结构实验报告
      ———二叉树的建立及其遍历
一、 实验目的
1、 了解二叉树的建立的方法及其遍历的顺序,熟悉二叉树的三种遍历
2、 检验输入的数据是否可以构成一颗二叉树
二、 实验的描述和算法
1、 实验描述
二叉树的建立首先要建立一个二叉链表的结构体,包含根节点和左右子树。因为耳熟的每一个左右子树又是一颗二叉树,所以可以用递归的方法来建立其左右子树。二叉树的遍历是一种把二叉树的每一个节点访问完并输出的过程,遍历时根结点与左右孩子的输出顺序
3d素描构成了不同的遍历方法,这个过程需要按照不同的遍历的方法,先输出根结点还是先输出左右孩子,可以用选择语句实现。
2、 算法
#include <stdio.h>
#include <stdlib.h>
#define OVERFLOW 0
#define OK 1
#define ERROR 0
typedef struct BiTNode {
    char data;
    struct BiTNode *lchild,*rchild;
    }BiTNode,*BiTree;
BiTree CreateBiTree(BiTree T)
北京导游词{
    scanf("%c",&e);
    if(e==' ')      T=NULL;
    el    {
        if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))
            exit(OVERFLOW);
        T->data=e;
        T->lchild=CreateBiTree(T->lchild);
        T->rchild=CreateBiTree(T->rchild);
    }
欢呼的近义词
    return T;  }企业发展目标
/************************前序遍历***********************/
char PreOrderTraver(BiTree T,char (* Visit)(char e))
{
    if(T)
    {
        if(Visit(T->data))
            if(PreOrderTraver(T->lchild,Visit))
                if(PreOrderTraver(T->rchild,Visit))  return OK;
        return ERROR;
    }
    el return OK;
}
char Visit(char e)
放鞭炮的来历{付出与回报
    printf("%5c",e);
    return OK;
}
白色的狗main()
{
    printf("请输入一颗二叉树,按回车结束:\n");
熊婧文    T=CreateBiTree(T);
    printf("先序遍历的结果:");
    PreOrderTraver(T,Visit);
}
三、 调试分析
在调这个程序是并没有遇到很大的困难,就是在输入一颗二叉树时,遇到了一点麻烦。输入时并不是随便乱输,输入的数据必须可以组成一颗二叉树才能才行。试了很久才弄清这个问题,解决这个问题后,程序就基本上没有什么问题了。输入abc  de g  f  后结构如下
四、 实验总结
在这次编程之后,,自己对于二叉树的理解更深了一步,但还是有些地方没有弄清楚,比如说自己写了一个二叉树,但是输入进去后却不能构成一颗二叉树,这个问题到现在也没有解决。

本文发布于:2023-06-30 14:33:44,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1070338.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:二叉树   遍历   建立   问题   实验   输出   方法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图