《数据结构算法演示系统毕业论文.doc》由会员分享,可在线阅读,更多相关《数据结构算法演示系统毕业论文.doc(42页珍藏版)》请在金锄头文库上搜索。
1、毕业设计(论文)题目:数据结构算法演示系统-线性表和树的算法演示 Data structure algorithms demonstration system -the algorithms of Linear tables and tree demonstration学 院: * 专 业: 计算机科学与技术 班 级: 计算机 学生姓名: 学 号: 指导教师: 完成日期: 毕业设计(论文)诚信声明本人郑重声明:所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。就我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写的研究成果,也不包含为获得华东交
2、通大学或其他教育机构的学位或证书所使用过的材料。如在文中涉及抄袭或剽窃行为,本人愿承担由此而造成的一切后果及责任。本人签名 导师签名 2006年 6 月11 日摘要数据结构算法演示系统数据结构在计算机科学中是一门综合性的专业基础课,它不仅设计到计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。在研究信息检索时也必须考虑如何组织数据,以便查找和存取数据元素更方便。因此,它是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。在计算机科学中,数据结构不仅是一般程序设计的基础,而
3、且是设计和实现编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础。本文充分利用C+ BUILDER的RAD优点,设计并建立了一套数据结构算法的演示系统。讲解了线性表、堆栈和队列、树、图等数据结构的概念,该系统具有操作便捷、形象生动等特点,对于深化对数据结构算法的理解,提高计算机程序设计水平具有很好的促进作用,而且具有一定的实用价值,能有效地改善数据结构算法教学的质量和效率,对于其他类似系统也有很大的借鉴意义。关键字:数据结构;算法;C+ BUILDERAbstractData structure algorithms demonstration systemData stru
4、ctures,is a comprehensive professional foundation courses in computer science, not only to studied computer hardware design (especially coding theory, storage devices and visit methods), and researched computer software in closer relationship, whether translation or operating system, data elements a
5、re involved in the allocation of memory. In information retrieval research, data must also consider how to organize in order to identify the data elements and visit more convenient. Therefore, it is a door core curriculum between mathematics, computer hardware and computer software. In computer scie
6、nce, data structure is not only the basis for general programming, but also the design and realization of heavy editing procedures, operating systems, database systems and other systems procedures and the essential foundation for large-scale applications.The full use of the RAD advantage C+ builder
7、design and build a data structure algorithms demonstration system. On the linear tables, Duizhan and Britain, trees, maps, and other data structure concept, the system has operated convenient, vivid image characteristics of the data structure to deepen the understanding of algorithms to improve the
8、level of computer programming in good catalyst, but with some practical value to effectively improve data structure algorithms teaching quality and efficiency For other similar systems.Key words: Data structure;Algorithms;C+ builder目 录1 绪论12 需求分析22.1 解决问题22.2 具备功能23 系统设计33.1 开发及使用环境33.2 系统结构103.3 详细
9、设计124 系统操作284.1 主菜单操作284.2 线性表操作284.3 树操作294.4 算法说明操作30结束语30谢 辞32参考文献33附录错误!未定义书签。附录A 外文翻译原文部分错误!未定义书签。附录B 外文翻译译文部分错误!未定义书签。附录C 源代码34 1 绪论数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据
10、结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。很多算法实际上是对某种数据结构施行的一种变换,研究算法也就是研究在实施变换过程中数据结构的动态性质。数据结构,作为计算机学科的基础性专业课程,其在计算机科学中的及其重要,课程学习的好坏,直接关系到学员后期计算机水平的高低。而这门课程一直因为过于抽象,难以理解,而让人望而止步。如果能够把这门抽象的课程变
11、得具体而生动,必将提高学习人员兴趣,增加其积极性和主动性,也有利于人员的对此课程的学习。基于这些目的,我们开发了这个数据结构算法演示系统,数据结构是我们所做的系统的主要理论基础,我们完成了线性表、堆栈、队列、树、图几个主要结构,在学习数据结构这门课程的时候,我们了解了这些结构的算法,当时也做过一些相关的程序,在此基础之上,我运用c+ builder开发工具,把这些算法演示出来。数据结构算法演示系统可以演示线性表、堆栈、队列、树、图等几个基础结构的算法,辅助一些算法说明,让使用者更好地掌握算法,在帮助中把演示的具体过程和操作做详细的介绍。 该系统具有操作简单、形象生动,能很好地改善人员对数据结构
12、课程的学习理解,从很大程度上提高人员的学习质量和效率。2 需求分析2.1 解决问题做为一个数据结构演示系统,首先我们确定要演示的内容,在本系统中,我们对线性表、堆栈和队列、树、图几个主要数据结构做了讲解;接着,对四种算法的说明也是必不可少的,这样配合演示,可以达到更好地效果;最后,作为我们设计的演示过程,使用者对操作不是太了解,我们有必要做个详细的操作过程,让使用者更好地操作系统。2.2 具备功能系统由数据结构、操作、帮助、程序四个部分组成。现分述如下:数据结构由线性表、堆栈和队列、树、图等四个部分组成,分别对应数据结构的四个部分。线性表又分为链表概念、链表模型、链表操作、双向链表四个部分,堆
13、栈和队列分为基本堆栈、基本队列、循环队列三个部分,树分为数据二叉树、结构二叉树、类二叉树,图分为图表示、图搜索、最短路径。操作由线性表说明、堆栈说明、队列说明、树说明、图说明组成,对各数据结构的算法说明。帮助由关于和帮助组成,是本系统的一些说明和对演示过程的操作详细说明。程序部分由退出组成,完成系统的终止。3 系统设计3.1 开发及使用环境 C+ BUILDER3.1.1 C+ BUILDER介绍提起Borland C/C+,相信业界的许多朋友都会感慨万千,因为它曾带领很多人跨进了Windows开发的大门。和美国Inprise公司(原Borland公司)其他面向企业分布式系统的开发工具(如De
14、lphi 、Jbuilder )相比,新近推出的最新版本C+ RAD(快速应用开发)工具Borland C+ Builder 4,无论是在开发环境、分布式应用系统开发、支持已有C+资源方面,还是在快速开发Web及Internet应用程序、数据库处理等方面,都表现出了其独特的一面。(1)全新的集成开发环境C+ Builder保留了使用Framework(如:OWL、MFC)的开发方式,融合了Visual Basic、Delphi等开发工具的面向组件的开发方式。C+ Builder的集成开发环境提供了120多个VCL组件,使开发人员不需太多编码,就能够实现很多复杂的功能,体现了软件的“重用性”原则。C+ Builder的用户界面也非常友好,易于使用,并且采用了停驻式(docking)工具条,可以自由组合集成开发环境窗口和工具条的排放方式。在编码过程中,还可以使用CodeExplorer技术对源代码进行管理。CodeCompletion技术使编译器能够自动列出VCL组件的可用属性和方法供程序员选择,而不必手工输入冗长的代码。C+ Builder的集成开发环境如图1所示。(2)简化了分布式应用系统的开发企业向多层分布式系统跨越已经成为了一种必然趋势,目前分布式运算标准主要有Microsoft 的DCOM和OMG的CORBA,是否支持这