[页数]:31 [字数]:9346 [目录] 1 相关知识介绍 2 需求分析 3 系统总体设计 4 详细设计 5 系统功能实现 6 系统测试 附录A: 原程序代码 附录B:系统使用说明书 [摘要] 二叉树遍历是在学习《数据结构》过程中的一个难点,对于二叉树究竟是如何遍历的和四种遍历有何不同等问题,很多学生理解起来很困难。开发一种辅助教学软件,帮助学习二叉树遍历,本系统就是针对此类问题而开发的小型辅助教学系统。以visual6.0为开发工具,以计算机图形学和数据结构等方面的知识为基础进行开发。设计能够实现对二叉树进行遍历,使用者可以清楚看到二叉树的遍历过程,这样更能将二叉树遍历学好达到辅助教学的目的。 [正文] 引 言 当今社会电子信息发展日新月异,教学手段也向多样性,灵活性方面发展,采用辅助教学系统能够使教学内容更直观,生动地展现给使用者,社会上也流行着多种辅助教学软件。本系统采用visual c++作为开发工具实现了二叉树遍历的动态演示,通过操作使用者的可以对二叉树进行遍历,让其掌握二叉树的四种遍历方法(先序遍历、中序遍历、后序遍历、层序遍历),实现对二叉树的动态演示的过程。 1 相关知识介绍 1.1 二叉树的递归定义 二叉树或者是一棵空树,或者是一棵由一个根结点和两棵互不相交的左子树和右子树所组成的非空树,左子树和右子树又同样都是二叉树。二叉树的特点是每个结点最多只有两个子女。 1.2 二叉树的遍历 二叉树的遍历是指按照一定次序访问树中所有结点,并且每个结点仅被访问一次的过程。所谓访问某结点可以理解为打印该结点的数据信息。但在实际处理过程中,访问某个结点并不一定就是如此。例如,修改结点的数据,或者判断结点是不是满足条件的结点等都可认为是对结点的访问。 根据二叉树遍历的定义,可得下面几种遍历算法定义: ?先序遍历:若二叉树为空,则空操作;否则 (1)访问根结点; (2)按照从左到右的顺序先序遍历根结点的每一棵子树。 ?中序遍历:若二叉树为空,则空操作;否则 (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树。 ?后序遍历:若二叉树为空,则空操作;否则 (1)按照从左到右的顺序后序遍历根结点的每一棵子树; (2)访问根结点。 ?层序遍历:若二叉树为空,则空操作;否则 (1)从树的第一层开始(即根结点)自上而下逐层遍历; (2)在同一层中按照从左到右的顺序逐个访问。 ...... [参考文献] [1] 李明富,古晓辉.C++语言程序设计(第二版)[M].北京航空航天大学出版社,1999.12 [2] Visual c++6.0程序设计从入门到精通[M].北京:人民邮电出版社,2006.1. [3] 严蔚敏,吴伟民,米宁.数据结构[M].北京:清华大学出版社,1999.2. .... [原文截取] 二叉树遍历算法的动态演示系统设计与实现 () 指导教师: 【摘要】二叉树遍历是在学习《数据结构》过程中的一个难点,对于二叉树究竟是如何遍历的和四种遍历有何不同等问题,很多学生理解起来很困难。开发一种辅助教学软件,帮助学习二叉树遍历,本系统就是针对此类问题而开发的小型辅助教学系统。以visual6.0为开发工具,以计算机图形学和数据结构等方面的知识为基础进行开发。设计能够实现对二叉树进行遍历,使用者可以清楚看到二叉树的遍历过程,这样更能将二叉树遍历学好达到辅助教学的目的。 【关键词】二叉树;动态演示;图形编程;可视化 The dynamic demonstration of binary tree () Tutor: Abstract:It’s difficult for people to study Binary Tree traversal of the "data structure", Many people are not sure how to traversal, what is the difference of the of the four traverse bin..... |
二叉树遍历算法的动态演示系统设计与实现
查看评论
已有0位网友发表了看法