数据结构(C语言) 实验三 二叉树操作

该实验旨在掌握非线性数据结构中的树结构,特别是二叉树的遍历操作,包括先序、中序、后序遍历,并通过键盘输入扩展的先序结点数据来建立二叉树。实验内容还包括统计二叉树的叶子节点个数,所有操作通过主菜单控制,用户可以根据选择调用相应功能函数。
摘要由CSDN通过智能技术生成

实验目的:
(1)掌握非线性数据结构–树结构,继续帮助学生建立数据结构加操作的程序设计方法。
(2)重点掌握树遍历操作,因为遍历操作是其他众多操作的基础,其中访问动作可是任何操作。
(3)了解应用树结构解决实际应用问题。
本次实验中,下列实验项目选做一。
实验内容:
以二叉链表存储结构,实现二叉树的建立、先序遍历、中序遍历、后序遍历、统计叶子个数等操作。
[基本要求及提示]
(1)从键盘输入扩展的先序结点数据,建立二叉树。
(2)先序遍历,输出结点序列。
(3)中序遍历,输出结点序列。
(4)后序遍历,输出结点序列。
(5)统计叶子结点个数。
(6)要求程序通过一个主菜单进行控制,通过选择菜单项序号调用各功能函数。

#include <stdio.h>
#include <stdlib.h>
typedef struct BiTNode//树的链式存储结构
{
   
        char data;//结点数据域
        struct BiTNode *lchild,*rchild;//左右孩子指针
}BiTNode,*BiTree;

void CreateBiTree(BiTree *T)//先序遍历的顺序建立二叉链表
{
   
    char ch;
    ch=getchar();//按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T
    if(ch=='#') *T=NULL;//递归结束,建空树
    else//递归创建二叉树
    {
   
        *T=(struct BiTNode*)malloc(sizeof(struct BiTNode));<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值