数据结构》模拟实验软件的实现 文献综述 1.前言 长久以来,人们习惯使用传统口述的方法进行知识的传授, 而学生只能被动 的听讲, 脑中不能建立起一个动画机制。 这种传授方式存在着许多缺点, 如效率 低,接受性差, 学生容易厌烦产生抵触等。 使用计算机传授知识具有口头传授无 法比拟的优点。如:视觉效果好,传授过程简单,学生能理解其中的过程等。这 些优点能够极大提高学生接受效率, 也是学校的科学化, 正规化管理, 与世界接 [1] 轨的重要条件 。 [1]数据结构是在整个计算机科学与技术领域上广泛被使用的术语。 它用来反映 一个数据的内部构成, 即一个数据由那些成分数据构成, 以什么方式构成, 呈什 么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。 逻辑上的数据 结构反映成分数据之间的逻辑关系, 而物理上的数据结构反映成分数据在计算机 内部的存储安排。 数据结构课程的主要目的是介绍一些常用的数据结构, 阐明数据结构内在的 逻辑关系, 讨论它们在计算机中的存储表示, 并结合各种数据结构, 讨论对它们 实行的各种运算的实现算法。很多算法实际上是对某种数据结构施行的一种变 [3] 换,研究算法也就是研究在实施变换过程中数据结构的动态性质 。其中的很 多算法很复杂且难以理解。通常的教学手段很难使学生清楚了解算法的各个环 节。针对这种情况我们开发了《数据结构》模拟实验软件,它能模拟执行算法的 每个步骤,把复杂的算法生动,直观的演示,使学生更好的理解和接受。 2.《数据结构》模拟实验软件的基本原理简述 数据结构的内容及应用范围非常广泛,对一个算法,做一个动画模拟设计的 方法有着很大的局限性和复杂性。 类型程序设计将数据结构及相关操作统一在类 型概念中, 强调数据类型的构造和生成性: 所有数据结构的类型都可由其对应的 构造函数生成。建立在类型上的所有操作也可以由其对应的构造函数最终定义 [5] 。从类型程序设计的构造思想出发,设计基本数据结构类型对应的基本操作 的动态模拟过程, 再以其为基本构件, 构造复杂数据结构类型对应的综合操作的 [5] 动态模拟过程,这样《数据结构》模拟实验软件就非复杂的动画设计,而是如何 由已有基本数据结构类型及其对应的操作演示函数, 构造、生成新的复杂的数据 [12] 结构类型及其对应的综合操作演示函数的程序设计 。 数据结构算法分析很重要。开发模拟实验软件,首先要对这个模拟实验软件 所要演示的内容掌握透彻。 在此系统中要对数据结构中每个算法的执行的具体过 程都要表现出来。如:链表的插入算法。要演示如何从根结点出发寻找插入点, [7] 如何插入,指针如何改变等等 。 系统由主界面, 及各个数据结构算法组成。 其数据结构算法由线性表、 堆栈 和队列、树、图四个部分组成。线性表又分为:单链表、双向链表两个部分,堆 栈和队列分为:基本堆栈、基本队列两个部分,树分为:二叉树、结构二叉树, 图分为:图表示、最短路径。 3.《数据结构》模拟实验软件的背景,现状以及发展 《数据结构》作为一门独立的课程在国外是从 1968 年才开始设立的。在这 之前,它的某些内容曾在其它课程,如表处理语言中有所阐述。 1968 年在美国 一些大学的计算机系的教学计划中,虽然把《数据结构》规定为一门课程,但对 课程的范围没有作明确规定。当时 ,数据结构几乎和图论 ,特别是和表、树的理论 为同义语。随后 ,数据结构这个概念被扩充到包括网络、集合代数论、格、关系 [4] 等方面,从而变成了现在称之为《离散数学》的内容 。然而,由于数据结构 在计算机中进行处理, 因此, 不仅考虑数据本身的数学性质, 而且还考虑数据的 存储结构, 这就进一步扩大了数据结构的内容。 近年来,随着数据库系统的不断 发展,在数据结构课程中又增加了文件管理 (特别是大型文件的组织等) 的内容。 最近这几年, 我国各个学科建设得到了蓬勃发展, 并且从国家教育部到每一 所高等院校都越来越重视相关模拟实验软件, 特别是其中的教学软件平台的建设 和完善。就《数据结构》模拟实验软件的建立,帮助计算机类专业的学生可以亲 身体会、完成抽象的理论知识的理解、 增强实务感性认识、 应用及提高实际动手 能力、分析能力和创造能力。 实践证明, 这些模拟实验的方式取得了很好的教学 效果。遗憾的是我国计算机专业模拟教学软件还远未得到发展, 或者说远远落后 于发达国家。 一方面没有自主知识产权的相关软件, 另一方面只有少数的学校从 国外引进了一些模拟教学软件, 但是即使是这些软件的使用, 也因为其同国内的 教学课程和计划无法很好结合、 以及界面的语言友好性、 操作习惯便利性等原因, 没有发挥出很好的教学效果。 随着计算机图形学和图像处理的飞速发展,模拟技术和多媒体技术日渐成 熟,用于教学的计算机模拟实验软件争相出现。 计算机模拟实验软件提供各种实 验平台,模拟普通或者特定的教学实验环境。 为教学实验探索提供了平台, 给教 [2] 学带来了新的方式 。通过与传统实验教学模式的比较,计算机模拟实验软件 在教学中有积极的作用,是使传统教学方法有了新的突破和发展。 4.总结 本文就《数据结构》模拟实验软件的原理,背景,发展现状做了简要论述。 在数据结构中包含了大量的算法, 由于这些算法都很抽象, 不易于理解, 使同学 们在学习中走很多弯路。 《数据结构》模拟实验软件的实现可以更好的为我们广 大学子服务。 使学生更清晰明了的理解数据结构中算法的各个过程, 在学习这些 算法的时候, 不再抽象反而可以更深动, 具体的描绘这些算法。 相信随着社会的 发展此类多媒体软件会受到更多广大师生们的欢迎。 参考文献 [1] 卫莉莉,王煜 . 数据结构算法模拟系统 [J]. 福建电脑,2006 年 7期. [2] 侯识忠. 数据结构算法程序集 [M]. 中国水利水电出版社 ,2005.1. [3] 曹阳.不同存储结构在数据结构算法中的应用 [J]. 甘肃农业,2006 年5期. [4] 刘喜勋,杨安祺 . 基于多态和模板的数据结构算法设计 [J]. 陕西科技大学学 报(自然科学版 ),2002 年 2期. ⑸王春红.多媒体CAI在数据结构算法教学中的应用[J].现代计算机(下半月 版) ,2002 年 1 期. ⑹ 彭玉青,肖国生•数据结构算法动态演示CAI软件的实现[J].河北工业大学 成人教育学院学报 ,2000 年 1 期. [7] 周莲英 . 一个数据结构算法动态模拟演示系统创作平台 [J]. 江苏理工大学学 报,1998 年 3 期. [8] 余明兴,吴明哲 .Borland c++ builder 5 实例精解 [M]. 清华大学出版社, 2003.7. [9] 严仕伟.C++ builder 程序员学习数据结构[M].人民邮电出版社,2003. [10] 王小华.C++ builder编程技巧、经验与实例[M].人民邮电出版社,2004.1. [11] 葛一楠,李智慧,方宏.奇思异想编程序 -C++ builder[M]. 国防工业出版社, 2004.1. [12] 牛为华,王翠如,刘军,马玉梅.数据结构(C语言版)[M].中国电力出版社, 2006.3. [13] 徐孝凯.C++语言基础教程[M].清华大学出版社,2001.8. [14] 吴逸贤,吴目诚 .Borland C++ builder 6 程序设计 [M]. 科技出版社, 2002.7. [15] 李金花.C++ builder 程序设计教程[M].冶金工业出版社,2005.1. [16] 郭文夷,戴芳胜.Borland C++ builder 6.0 程序设计[M].西安电子科技大 学出版社, 2004.1. [17] Horowitz E , Sahni S.Fundamentals of Data StruCtures. Pitmen Publishing Limites, 1976. 本文来源:https://www.wddqw.com/doc/c0397c08b7daa58da0116c175f0e7cd184251810.html