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

其他范文 时间: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);} }

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

二 测试结果

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

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

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

实验一线性表的创建与访问算法设计

内蒙古工业大学信息工程学院四、编译程序:#include #include #define MAXSIZE 100typedef char ElemType; typedef struct LNode//定义单链表结点类型 {ElemType data;struct......

二叉树的遍历算法

实验三 二叉树遍历算法一、实验目的1. 进一步理解掌握二叉树二叉链表存储结构。 2. 掌握二叉树遍历的递归与非递归算法。二、实验要求1. 认真阅读和掌握(先序、中序、后序和层次......

二叉树的构造函数算法BiTree

template BiTree ::BiTree(BiNode *root) {creat(root);}template void BiTree ::Creat(BiNode *root) {cin>>ch;if (ch=='# ') root=NULL;//建立一棵空树else {root=new B......

家谱的设计与实现(二叉树)

家谱的设计与实现(树,查找)家谱的设计主要是实现对家庭成员信息的建立、查找、插入、修改、删除等功能。可。基本功能如下:(1)家谱中每个成员的信息包括:姓名、性别。 (2)家谱祖先数......

算法设计与分析学习心得

算法设计与分析学习心得班级:物联网1201 姓名:刘潇 学号:1030612129一、实验内容:这学期的算法与设计课,老师布置了这四个问题,分别是货郎担问题,动态生成二维数组,对话框下拉列表,排......

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

文档为doc格式

热门文章
点击下载本文