二叉树的创建与访问算法设计_创建二叉树的算法实现

其他范文 时间:2020-02-28 07:08:27 收藏本文下载本文
【www.daodoc.com - 其他范文】

二叉树的创建与访问算法设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“创建二叉树的算法实现”。

内蒙古工业大学信息工程学院

实 验 报 告

课程名称: 数据结构(C语言版)实验名称: 二叉树的创建与访问算法设计 实验类型: 验证性□ 综合性□ 设计性□ 实验室名称: c机房 班级:xxxxxxxxx 学号: xxxxxxxxxxxxxxx 姓名: xxx 组别: 同组人:

成绩:

实验日期: 2011年 6月

内蒙古工业大学信息工程学院

预习报告成绩: 指导教师审核(签名): 2011年 月 日

预习报告

一.实验目的 本实验以二叉树的创建与访问算法设计作为实验内容,掌握树型结构的实现方法,培养解决负责问题的能力。

二.实验内容

1、编写生成二叉树的函数,二叉树的元素从键盘输入;

2、编写在二叉树中插入元素的函数;

3、编写在二叉树中删除元素的函数;

4、编写遍历并输出二叉树的函数。

方案一采用递归算法实现二叉树遍历算法。方案二采用非递归算法实现二叉树遍历算法。三.实验要求

1、掌握树型结构的机器内表示;

2、掌握树型结构之上的算法设计与实现;

3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。四.问题描述

从键盘输入二叉树的元素,建立二叉树,实现二叉树的遍历算法。

五.基本要求

实现以下基本操作:

(1)从键盘输入二叉树的元素,建立二叉树。(2)实现二叉树的先序遍历算法。

内蒙古工业大学信息工程学院

实验报告成绩: 指导教师审核(签名): 2011年 月 日

实验报告

一 程序清单

#include “stdio.h” #include “string.h” #include #define NULL 0

typedef struct BiTNode{ char data;

struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;

BiTree Create(BiTree T){

char ch;

ch=getchar();if(ch=='#')T=NULL;else{

if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))printf(“Error!”);T->data=ch;

T->lchild=Create(T->lchild);T->rchild=Create(T->rchild);}

return T;}

int Depth(BiTree T){

int dep=0,depl,depr;if(!T)dep=0;else {

depl=Depth(T->lchild);depr=Depth(T->rchild);

dep=1+(depl>depr?depl:depr);}

return dep;}

void main(){ BiTree T;int dep;printf(“请输入您要创建的二叉树!!n

'#'表示空元素!n”);T=Create(T);

printf(“nn您要求的二叉树的深度:”);dep=Depth(T);

printf(“%dnn”,dep);} }

内蒙古工业大学信息工程学院

二 测试结果

三 调试程序出现的问题及解决的方法

编程中出现很多的编译错误,主要采用对每个函数调试,设断点,运用自己的程序中,让我更好的掌握了递归算法。四 实验心得体会

通过这次试验,让我巩固了链式存储结构和递归算法的使用,用模块化思路设计程序,编写程序要小心谨慎,要细化到每个函数,通过多次调试,才使得整个程序正确运行,达到预期结果。

下载二叉树的创建与访问算法设计word格式文档
下载二叉树的创建与访问算法设计.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文