国家开放大学《数据结构》课程实验报告(实验4——二叉树)参考答案.docxVIP

  • 297
  • 0
  • 约小于1千字
  • 约 1页
  • 2021-11-14 发布于江苏
  • 举报

国家开放大学《数据结构》课程实验报告(实验4——二叉树)参考答案.docx

《数据结构》课程实验报告 (实验 4 二叉树) 学生姓名班 级实验名称 实验目的: 学 号 指导老师实验成绩 实验报告 (1)根据数组tree,建立与该二叉树对应的链式存储结构。实 (2)对该二叉树采用中序遍历法显示遍历结果。 验 实验要求: 概 (1)在主函数中,通过键盘输入建立设定的完全二叉树的顺序存储结构。述 (2)设计子函数,其功能为将顺序结构的二叉树转化为链式结构。 设计子函数,其功能为对给定二叉树进行中序遍历,显示遍历结果。 通过实例判断算法和相应程序的正确性。实验基本原理: 顺序存储的二叉树转化为链式存储结构,采用递归算法,递归函数的形式为Creab(tree,n,i,,b其)中形参:tree为顺序存储二叉树的数组,n 为二叉树的结点数,i是二叉树某结点在数组tree中的下标(初始值为1),b 为要建立的链式存储二叉树结点指针。转化时,首先建立*b 结点,将tree[的i]值赋给*b 的数据域,再调用递归函数分别构造左子树和右子树。 中序遍历采用递归算法,即中序遍历左子树、访问根结点、中序遍历右子树。 程序代码: /*实验 3.1 二叉树的顺序存储结构和链式存储结构*/ 实 #include stdio.h 验 #include stdlib.h 内 #define MaxSize 20 容 /*二叉树链式存储结构结点定义*/ typedef struct BTreeNode { char data; struct BTreeNode * left; struct BTreeNode * right; }BTreeNode; BTreeNode * Creab(char *tree,int n,int i,BTreeNod建e 立*b二);叉/树* 链式结构*/ void Inorder(BTreeNode *BT); /*中序遍历二叉树*/ void main() { BTreeNode *BT; /*根结点指针*/ char tree[MaxSize],c; int n=0; /*二叉树的结点数*/ int i=1; /*结点在数组 tree中的下标*/ printf请(输入完全二叉树的结点值(连续输入字符,以回车结束输入) :);

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档