数据结构_实验三树结构算法设计---梦朝思夕_第1页
数据结构_实验三树结构算法设计---梦朝思夕_第2页
数据结构_实验三树结构算法设计---梦朝思夕_第3页
数据结构_实验三树结构算法设计---梦朝思夕_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中国矿业大学计算机科学与技术系试验报告课程名称数据结构试验名称实验三树结构算法设计班级信息安全092 姓名梦朝思夕学号_08093739 仪器组号 实验日期10-12-18实验报告要求:1.实验目的 2.实验内容3.实验步骤4.程序清单5.运行结果 6.流程图7 实验体会一实验目的1理解树结构的逻辑特性;2熟练掌握二叉树的逻辑结构特性及各种存储方法。3熟练掌握二插树的各种基本操作,尤其是三种遍历算法以及线索化算法;4进一步了解和掌握类的私有和公有成员函数的定义和使用以及类型的作用域。二、实验要求:1实验之前认真准备,编写好源程序。2实验中认真调试程序,对运行结果进行分析,注意程序的正确性和健壮

2、性的验证。3不断积累程序的调试方法。三、实验内容 基本题(必做):1试写出中序遍历二叉树的递归算法 和 非递归算法。2写出中序线索二叉树的中序遍历算法。四、程序清单基本题:1. #define maxsize 10#include "stdio.h'*#include "malloc.h"#define null 0typedef struct node char data;struct node *lchild,*rchild; bitree;bi tree *qmaxsize;bitree *creatree ()char ch; int front,

3、rear;bitree *t,*s;t 二 null;front=l,rear=0;ch=getchar();while (ch!='#')s=null;if(ch!=)s=(bitree *)malloc(sizeof (bitree); s->data=ch;s->lchild=s->rchild=null;rear+;qrear=s;if(rear=l) t=s;elseif(s!=null&&qfront!=null)if (rear%2=0)q front ->lchild=s;else qfront->rchild=s;

4、 if(rear%2=l) front+;ch=getchar();return t;void inorder (bitree *t)if(t) inorder(t->lchild);printf(',%4c'*,t->data);inorder(t->rchild);void main()bitree *tr;printf("创建二叉树:n请输入结点信息:”); tr=creatree();printf(“中序遍历二叉树的结果为:”);inorder(tr);printf("n");2. #define maxsize 100#

5、include "stdio.h"#include "malloc.h"#definenull0# define stackmaxsize 100typedef struct node char data;struct node *lchild,*rchild; bitree;typedef struct bitree stack fstackmaxsize;int top;stack;void initstack (stack *s)(*s).top=-l;void push(stack *s,bilree *ch)(*s).top+;(*s).sta

6、ck(*s).top=*ch;bitree *pop(stack *s)bitree pl,*p=&pl;*p=(*s).stack(*s).top;(*s).top;return p;1int empty(stack *s)if(*s).top=二 1 )return 1;else return 0;bitree *qmaxsize;bitree *creatree ()char ch; int front,rear;bitree *t,*s;t=null;front=l,rear=0; ch=getchar(); while (ch!二#) s=null; if(ch!=) s=(

7、bitree *)malloc(sizeof (bitree); s->data=ch;s->lchild=s->rchild=null;rear+;qfrear=s; if(rear=l) t=s;elseif (s!=null&&qfront!=null)if (rear%2=0)qfront->lchild=s;else qfront->rchild=s; if(rear%2=l) front+;1 ch=getchar();return t;void inorder (bitree *t)bitree *p=t;stack sl*s=&s1;initstack(s);while (p!=null|(!empty(s) if(p!=null) push(s,p);p=p->lchild;else p=pop(s);p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论