没有合适的资源?快使用搜索试试~ 我知道了~
首页数据结构 建立二叉树二叉链表存储结构实现有关操作 实验报告
数据结构 建立二叉树二叉链表存储结构实现有关操作 实验报告

建立二叉树的二叉链表存储结构实现以下操作(选择其中的两个做) (1)输出二叉树 (2)先序遍历二叉树 (3) 中序遍历二叉树 (4)后序遍历二叉树 (5)层次遍历二叉树
资源详情
资源评论
资源推荐

一、实验题目: 建立二叉树二叉链表存储结构实现有关操作
二、问题描述:
建立二叉树的二叉链表存储结构实现以下操作(选择其中的两个做)
(1)输出二叉树 (2)先序遍历二叉树 (3) 中序遍历二叉树
(4)后序遍历二叉树 (5)层次遍历二叉树
三、需求分析:
我选做以上的 2.3 两小问
(1)建立二叉链表树
(2)先序遍历二叉树:
若二叉树为空,则空操作;否则先访问根结点,再先序遍历左子树,最后先序遍历右
子树
(3) 中序遍历二叉树:
若二叉树为空,则空操作;否则先访问根结点,再中序遍历左子树,最后中序遍历右
子树
(4)测试数据:a,b,c,d,e;测试输出结果为:先根遍历:a,b,d,c,e 中根遍历:b,d,a,e,c
四、概要设计:
(1)结点结构定义:
struct btnode
{
char data; //数据
bitreptr lchild; //左节点指针
bitreptr rchild; //右节点指针
};
(2)二叉树的定义与初始化:
bitreptr CreateTree( )
{
bitreptr a,b,c,d,e;
bitreptr nodes[5];
for(int j=0;j<5;j++)
{
nodes[j]=(bitreptr)malloc(sizeof(btnode));
nodes[j]->lchild=NULL;
nodes[j]->rchild=NULL ;
}
a=nodes[0];
b=nodes[1] ;
c=nodes[2];
d=nodes[3];
e=nodes[4];
a->data='a';
a->lchild=b;
a->rchild=c;
b->data='b';
b->rchild=d;


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论15