数据结构实验报告二叉树.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数据结构实验报告二叉树

《数据结构与算法》实验报告

专班姓学

业级名号

实验项目

实验三二叉树。

实验目的

1、掌握用递归方法实现二叉树的遍历。

2、加深对二叉树的理解,逐步培养解决实际问

题的编程能力。

题目:

(1)编写二叉树的遍历操作函数。

①先序遍历,递归方法re_preOrder(TREE

*tree)

②中序遍历,递归方法re_midOrder(TREE

*tree)

③后序遍历,递归方法re_postOrder(TREE

*tree)

(2)调用上述函数实现先序、中序和后序遍历二叉

树操作。

算法设计分析

(一)数据结构的定义

2

要求用c语言编写一个演示程序,首先建立

一个二叉树,让用户输入一个二叉树,实现该二

叉树的便利操作。

二叉树型存储结构定义为:

typedefstructTNode

{chardata;//字符型数据

structTNode*lchild,*rchild;//左右孩子指针

}TNode,*Tree;

(二)总体设计

程序由主函数、二叉树建立函数、先序遍历

函数、中序遍历函数、后序遍历函数五个函数组

成。其功能描述如下:

(1)主函数:统筹调用各个函数以实现相应功

能。

intmain()

(2)二叉树建立函数:根据用户意愿运用先序

遍历建立一个二叉树。

intCreateBiTree(TreeT)

(3)先序遍历函数:将所建立的二叉树先序遍

历输出。

voidPreOrder(TreeT)

3

(4)中序遍历函数:将所建立的二叉树中序遍

历输出。

voidInOrder(TreeT)

(5)后序遍历函数:将所建立的二叉树后序遍

历输出。

voidPostOrder(TreeT)

(三)各函数的详细设计:

(1)建立一个二叉树,按先序次序输入二叉树

中结点的值(一个字符),‘#’表示空树。对T动

态分配存储空间,生成根节点,构造左、右子树

(2)编写先序遍历函数,依次访问根节点、左

子结点、右子节点

(3)编写中序遍历函数,依次访问左子结点、

根节点、右子节点

(4)编写后序遍历函数,依次访问左子结点、

右子节点、根节点

(5)编写主函数,调用各个函数,以实现二叉

树遍历的基本操作。

实验测试结果及结果分析

(一)测试结果

4

输入HAD##C#B##GF#E###

(二)结果分析

调试程序时,出现了许多错误。如:将函数定

义为有返回值类型时,总是忘记return0语句,

因为不需要返回一个实际值,所以返回0值很容

易被忽略。对于递归调用的使用不熟练,翻书及

上网查询后才会应用。

实验总结

这次实验主要是通过先序序列建立二叉树,

和二叉树的先序、中序、后续递归遍历算法。通

过这次实验,我巩固了二叉树这部分知识,从中

体会理论知识的重要性。在做实验之前,要充

分的理解本次实验的理论依据。

例如进行二叉树的遍历的时候,要先理解各

种遍历的特点。先序遍历是先遍历根节点,再依

次先序遍历左右子树。中序遍历是先中序遍历左

5

子树,再访问根节点,最后中序遍历右子树。而

后序遍历则是先依次后续遍历

文档评论(0)

领航教育 + 关注
实名认证
服务提供商

专注于中小学教案的个性定制:修改,审批等。本人已有2年教写相关工作经验,具有基本的教案定制,修改,审批等能力。可承接教案,读后感,检讨书,工作计划书等多方面的个性化服务。欢迎大家咨询^

1亿VIP精品文档

相关文档