毕业设计(论文)C++数据结构算法演示系统设计.doc
《毕业设计(论文)C++数据结构算法演示系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)C++数据结构算法演示系统设计.doc(51页珍藏版)》请在三一办公上搜索。
1、摘要数据结构算法演示系统数据结构在计算机科学中是一门综合性的专业基础课,它不仅设计到计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。在研究信息检索时也必须考虑如何组织数据,以便查找和存取数据元素更方便。因此,它是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。在计算机科学中,数据结构不仅是一般程序设计的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础。本文充分利用C+ BUILDER的RAD优点,设计并建立了一套数据结构算法的
2、演示系统。讲解了线性表、堆栈和队列、树、图等数据结构的概念,该系统具有操作便捷、形象生动等特点,对于深化对数据结构算法的理解,提高计算机程序设计水平具有很好的促进作用,而且具有一定的实用价值,能有效地改善数据结构算法教学的质量和效率,对于其他类似系统也有很大的借鉴意义。关键字:数据结构;算法;C+ BUILDERAbstractData structure algorithms demonstration systemData structures,is a comprehensive professional foundation courses in computer science, n
3、ot 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 are involved in the allocation of memory. In information retrieval research, data
4、 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 science, data structure is not only the basis for general programming, but also the
5、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 design and build a data structure algorithms demonstration system. On the linear
6、 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 level of computer programming in good catalyst, but with some practical value to
7、 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 详细设计124 系统操作284.1 主菜单操作284.2 线性表操作284.3 树操作294.4 算法说明操作30结束语30谢 辞32参考文献33附录34附录A 外
8、文翻译原文部分34附录B 外文翻译译文部分40附录C 源代码46 1 绪论数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的
9、逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。很多算法实际上是对某种数据结构施行的一种变换,研究算法也就是研究在实施变换过程中数据结构的动态性质。数据结构,作为计算机学科的基础性专业课程,其在计算机科学中的及其重要,课程学习的好坏,直接关系到学员后期计算机水平的高低。而这门课程一直因为过于抽象,难以理解,而让人望而止步。如果能够把这门抽象的课程变得具体而生动,必将提高学习人员兴趣,增加其积极性和主动性,也有利于人员的对此课程的学习。基于这些目的,我们开发了这个数据结构算法演示系统,数据结构是我们所做的系统的主要理论基础,我们完成了线性表、堆栈、
10、队列、树、图几个主要结构,在学习数据结构这门课程的时候,我们了解了这些结构的算法,当时也做过一些相关的程序,在此基础之上,我运用c+ builder开发工具,把这些算法演示出来。数据结构算法演示系统可以演示线性表、堆栈、队列、树、图等几个基础结构的算法,辅助一些算法说明,让使用者更好地掌握算法,在帮助中把演示的具体过程和操作做详细的介绍。 该系统具有操作简单、形象生动,能很好地改善人员对数据结构课程的学习理解,从很大程度上提高人员的学习质量和效率。2 需求分析2.1 解决问题做为一个数据结构演示系统,首先我们确定要演示的内容,在本系统中,我们对线性表、堆栈和队列、树、图几个主要数据结构做了讲解
11、;接着,对四种算法的说明也是必不可少的,这样配合演示,可以达到更好地效果;最后,作为我们设计的演示过程,使用者对操作不是太了解,我们有必要做个详细的操作过程,让使用者更好地操作系统。2.2 具备功能系统由数据结构、操作、帮助、程序四个部分组成。现分述如下:数据结构由线性表、堆栈和队列、树、图等四个部分组成,分别对应数据结构的四个部分。线性表又分为链表概念、链表模型、链表操作、双向链表四个部分,堆栈和队列分为基本堆栈、基本队列、循环队列三个部分,树分为数据二叉树、结构二叉树、类二叉树,图分为图表示、图搜索、最短路径。操作由线性表说明、堆栈说明、队列说明、树说明、图说明组成,对各数据结构的算法说明
12、。帮助由关于和帮助组成,是本系统的一些说明和对演示过程的操作详细说明。程序部分由退出组成,完成系统的终止。3 系统设计3.1 开发及使用环境 C+ BUILDER3.1.1 C+ BUILDER介绍提起Borland C/C+,相信业界的许多朋友都会感慨万千,因为它曾带领很多人跨进了Windows开发的大门。和美国Inprise公司(原Borland公司)其他面向企业分布式系统的开发工具(如Delphi 、Jbuilder )相比,新近推出的最新版本C+ RAD(快速应用开发)工具Borland C+ Builder 4,无论是在开发环境、分布式应用系统开发、支持已有C+资源方面,还是在快速开
13、发Web及Internet应用程序、数据库处理等方面,都表现出了其独特的一面。(1)全新的集成开发环境C+ Builder保留了使用Framework(如:OWL、MFC)的开发方式,融合了Visual Basic、Delphi等开发工具的面向组件的开发方式。C+ Builder的集成开发环境提供了120多个VCL组件,使开发人员不需太多编码,就能够实现很多复杂的功能,体现了软件的“重用性”原则。C+ Builder的用户界面也非常友好,易于使用,并且采用了停驻式(docking)工具条,可以自由组合集成开发环境窗口和工具条的排放方式。在编码过程中,还可以使用CodeExplorer技术对源代
14、码进行管理。CodeCompletion技术使编译器能够自动列出VCL组件的可用属性和方法供程序员选择,而不必手工输入冗长的代码。C+ Builder的集成开发环境如图1所示。(2)简化了分布式应用系统的开发企业向多层分布式系统跨越已经成为了一种必然趋势,目前分布式运算标准主要有Microsoft 的DCOM和OMG的CORBA,是否支持这两种标准决定了开发工具的适用领域和范围。C+ Builder可以说是目前唯一同时支持CORBA和COM的C+集成开发环境,因此既适用于基于ORB的分布式开发,又适用于基于COM的Windows开发。C+ Builder内置了VisiBroker3。3,它是目
15、前全球分发数量最多的CORBA ORB,并且包含了Event Service和NamingService等标准CORBA服务,从而为开发CORBA应用提供了可能。C+ Builder 将CORBA IDL 编译器集成在其开发环境中,通过配合各种向导(Wizard),可以快速生成CORBA Client和Server的源程序代码框架,这对于开发CORBA产品的朋友来说,确实是非常方便的。图2显示了C+ Builder中建立CORBA对象的各种向导。在Microsoft COM方面,C+ Builder 同样提供了各种向导,可以一步生成COM标准组件、OLE Automation组件及Active
16、X组件,您可以在Windows环境下大显身手。 C+ Builder 提供的MIDAS2同时支持CORBAIIOP、DCOM、DCE RPC以及TCP/IP等多种连接方式,适用于分布式系统的开发。比如,非Windows环境上的Java应用程序,可以通过CORBA IIOP使用C+ Builder开发出来的应用程序服务器。从而使用户可以在原有系统基础之上构建跨平台、跨程序语言的分布式应用系统。(3)对已有C+资源的支持用户可能会关心,对于过去开发的基于Borland C+ OWL和Microsoft MFC的程序,C+ Builder是否能够兼容?回答是肯定的。C+ Builder的另一特性就是
17、提供了MFC4。2版的函数库,强化了对Microsoft Visual C+源代码的兼容性,可以直接编译MSDN与各种SDK中的范例程序。通过MFC向导,还可以生成MFC的代码框架。除此之外,C+ Builder能够编译原有的BorlandC+ OWL程序码,因此就不必担心以前的工作白做了!C+ Builder中提供了符合ANSI/ISO标准的C+编辑器,还能够开发可移植于非Windows平台的C+程序。(4)快速开发Web及Internet应用程序目前,基于Internet的开发已经成为一种时尚。C+ Builder在开发Web及Internet应用方面的功能也非常强大。C+ Builder
18、提供了21个Internet通信协议组件,用于Internet应用程序的开发。开发人员可以建立“零配置”、基于Web浏览器的“瘦客户”应用程序。C+ Builder同时支持CGI、WINCGI、ISAPI及NSAPI等标准,使开发人员利用现有的开发技术就可以用可视化的方式开发跨平台的Web应用程序。运用ActiveForm/ATL及WebDeploy技术,还可以实现ActiveX组件的Web分发。(5)强大的数据库处理功能C+ Builder提供了对Oracle8、Microsoft SQLServer 7、Informix 9、Sybase、IBM DB 2 UniversalServer、
19、InterBase 5。5等大型数据库的高速驱动程序,并支持Oracle8的对象关联延伸功能(如图3所示),如Abstract Data Type、Nested Tables、Variable LengthArrays、Object Pointers(REFs)及External FileReference等。同时C+ Builder还保留了对MicrosoftAccess 97、FoxPro、Visual dBASE及Paradox等本地数据库的处理能力。因此,无论是大型的数据库应用系统开发,还是小型的数据库管理系统,C+ Builder都有其用武之地。C+ Builder还提供了MTS 组
20、件向导,用于快速生成支持Microsoft Transaction Server的COM组件。BDEResource Dispenser使用户可以在MTS中使用BDE存取数据库,保证了MTS对数据库的两阶段提交(Two PhaseCommit)及资源管理的能力。(6)强大的调试功能C+ Builder强化了原有的Module View、EventLog View及Inspect Local Variable等调试窗口的功能,并在Windows NT环境中提供多线程调试的新功能,使用户可以在某一特定过程中跟踪程序代码。C+ Builder针对多层分布式开发环境提供了远程调试能力,开发人员可以通过
21、网络直接对远端的应用程序服务器进行调试,从而简化了多层应用系统的开发和维护工作。(7)其他特点C+ Builder还有很多新增的功能,如:针对Windows 98提供了PageScroller、MonthCalendar等Windows 98格式的新组件,并支持Windows98的多重屏幕显示功能及Microsoft Office97格式的选择选单和停驻式(docking)工具条。对界面的处理上,可以控制窗口的最大/最小尺寸以及窗口尺寸变动时其中组件的相对位置和比例,等等。总之,C+ Builder 的强大功能并不是通过笔者有限的介绍所能够涵盖的,在C+海洋里遨游的朋友不妨亲自尝试一下C+ B
22、uilder,体验一下它的灵活与强大,相信您定会“恋恋不舍”的。3.1.2 C+ BUILDER与Visual C+对比首先,从它们的应用程序框架(Application Frame,有时也称为对象框架)进行比较。Visual C+采用的框架是MFC。MFC不仅仅是人们通常理解的一个类库。(同样,Del phi和C+Builder使用的VCL的概念也不仅仅是一个控件库。)你如果选择了MFC,也就选择了一种程序结构,一种编程风格。MFC早在Windows 3.x的时代就出现了,那时的Visual C+还是16位的。经过这些年的不断补充和完善,MFC已经十分成熟。但由于原型出现得比较早,MFC相比
23、于VCL落后了一个时代。尽管微软对MFC的更新没有停止,我也经常读到持只要Windows不过时,MFC就不会过时之类观点的文章,但就象Inprise(原Borland)的OWL框架的淡出一样,MFC的淡出也是早晚的事。如果MFC青春永驻,微软的开发人员也不会私自开发出基于ATL的WTL呀。当然,WTL的地位不能和MFC比,它并不是微软官方支持的框架,封装的功能也相当有限。但至少也反衬出了MFC存在的不足。 我以为,最能体现一个应用程序框架的先进性的是它的委托模型,即对Windows消息的封装机制。(对Windows API的封装就不用说了吧。大同小异,也没什么技术含量。 如果高兴,你也可以自己
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 C+ 数据结构 算法 演示 系统 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3976492.html