毕业设计网
毕业设计论文 | 毕业设计任务书 | 计算机外文翻译 | 文献综述 | 机械模具类 | 课程设计 |

数据结构经典算法的动态演示-图状结构

摘要:数据结构课程中图状结构算法的传统教学和学习方式抽象不直观,让学习者难以理解,因此成为学习上的难点。算法以动画的效果显示执行过程,同时能动态演示算法执行调用情况以及后台栈的运行情况。通过形象直观的动态演示达到对算法的深入浅出的学习目的,对学习者掌握算法提供了很大的帮助。本文首先阐述了系统研究的目的和意义,并对图状结构算法进行了描述,在分析了动态演示系统的概念、设计标准和开发工具的基础上提出了针对图状结构算法的动态演示系统的设计思路。

关键词:数据结构;图状结构;算法;动态演示

信息技术已经影响到人们生活的方方面面,特别是在教育领域,多媒体教学已经成为信息时代重要的教学方式和教学手段[1]。图状结构涉及大量算法,这些算法是构成图状结构的基础,正确理解和掌握它们是学习图状结构的基本要求。教材中一般只有算法的文字描述或伪码程序,既抽象又不直观,因此成为学习上的难点。近年来,多媒体技术的发展使学习的形式生动活泼,各种各样的教学课件不断涌现。但当今图状结构课件中有关基本算法的讲解部分,基本上没有变化。虽然有些采用动画演示,但学者只能看到事先制作好的内容,无法针对各人的要求来学习,没有交互性。另外算法面对的实际情况千变万化,不同的输入条件有不同的输出结果,仅用预先定好的某种情况来描述算法缺乏说服力。
因此设计具有交互性、便捷性的动画演示是很有必要的,算法动态演示可以处理用户任意输入的数据,自动生成演示内容,同步显示算法执行的每一步中间过程和对输入数据的处理结果,并且还可以随意调节程序的执行速度及单步执行,形象直观,对学习者掌握算法提供了很大的帮助。算法以动画的效果显示执行过程,同时能动态演示算法执行调用情况以及后台栈的运行情况,通过动态演示达到对算法的深入浅出的学习目的。

1.研究的目的和意义
《数据结构》是计算机学科中一门十分重要的核心课程[2],在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。一般而言,数据结构的选择首先会从抽象数据类型的选择开始。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,为各种临界状态下的运行提供支持。数据结构可通过编程语言所提供的数据类型、引用及其他操作加以实现。
不同种类的数据结构适合于不同种类的应用,而部分甚至专门用于特定的作业任务。例如,当计算机网络依赖于路由表运作时,B树高度适用于数据库的封装。
通常情况下,精心选择的数据结构可以带来最优效率的算法,而对于算法的理解则是学好该课程的关键。在众多的计算机系统软件和应用软件中都要用到各种数据结构。因此,仅掌握几种计算机语言是难以应付众多复杂的课题的。要想有效地使用计算机,还必须学习数据结构的算法有关知识。
    而图型结构又是数据结构中最复杂的部分,其涉及的算法概念种类多,理解起来难度较大,如果采用旧有的教学模式很难使学生能够掌握,传统的教学方法和手段已不能适应发展的需要,因此利用可视化动画技术实现抽象数据结构的模拟十分必要。

2.图状结构的基本概念与算法

2.1图型结构的基本概念
图型结构,简称“图”。是一种复杂的数据结构。简单的说由若干不同顶点与连接其中某些顶点的边所组成的图形就叫图[3]。数据元素间的关系是任意的,其他数据结构(如树、线性表等)都有明确的条件限制,而图型结构中任意两个数据元素间均可相关联。常用来研究生产流程、施工计划、各种网络建设等问题。
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。

2.2图型结构的经典算法
图型结构的经典算法包括图的深度与广度遍历算法、拓扑排序算法、最短路径选择算法、最小生成树算法等经典算法。
其中拓扑排序就是将有向图中顶点排成拓扑序列。例如:一本书的作者将书本中的各章节学习作为顶点,各章节的先学后修关系作为边,构成一个有向图。按有向图的拓扑次序安排章节,才能保证读者在学习某章节时,其预备知识已在前面的章节里介绍过。
最小生成树算法包括普鲁姆算法和克鲁斯卡尔算法。许多应用问题都是一个求无向连通图的最小生成树问题。例如:要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同;另一个目标是要使铺设光缆的总费用最低。这就需要找到带权的最小生成树。
而最短路径是指如果从图中某一顶点(称为源点)到达另一顶点(称为终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边上的权值总和达到最小。包括迪杰斯特拉(Dijkstra)算法[4]、Bellman和Ford算法和弗洛依德(Floyd)算法。

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:数据结构经典算法动态演示-树型结构_文献综述
下一篇:asp健身房俱乐部会员管理系统


版权所有 毕业设计网联系qq:242219979 © 2007-2022