基于姓名排序算法动态演示系统的设计与实现说明书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

陕西理工学院毕业设计基于姓名排序算法动态演示系统的设计与实现[摘要]在有限的资源空间里,为了提高运算处理数据的速率,使用高效算法必不可少。本文以Java作为开发工具,设计与开发了基于姓名排序算法动态演示系统。该系统实现了插入排序(链表插入排序、直接插入排序、折半插入排序等)、交换排序、选择排序、归并排序、堆排序等算法的动态演示。系统界面美观,操作简单,可作为排序可视化教学演示软件。[关键词]Java;排序算法;动态演示陕西理工学院毕业设计TheDesignandImplementationofDynamicPresentationSystemsbasedonNameSortingAlgorithmAbstract:Inthespacelimitedresources,inordertoimprovetherateofoperationofthedataprocessing,theuseofefficientalgorithmisessential.Inthispaper,Javaasadevelopmenttool,designedanddevelopedbasedonthenameofsortingalgorithmdynamicpresentationsystems.Thesystemimplementsinsertionsort(listinsertionsort,insertionsort,binaryinsertionsort,etc.),exchangesort,selectionsort,mergesort,heapsort,suchasdynamicpresentationsalgorithm.Systeminterfaceisbeautiful,simpleoperation,canbeusedassortofteachingvisualpresentationsoftware.Keywords:Java;SortingAlgorithm;DynamicPresentation陕西理工学院毕业设计目录引言......................................................11系统背景及意义...........................................21.1系统背景................................................21.2系统目的及意义..........................................21.3开发工具介绍............................................22排序算法.................................................52.1直接插入排序............................................52.2折半插入排序............................................62.3快速排序................................................62.4选择排序................................................82.5归并排序................................................92.6链表插入排序...........................................102.7堆排序.................................................112.8基数排序(MSD)........................................123系统设计................................................143.1系统模块结构...........................................143.2模块算法流程图.........................................144实现....................................................214.1直接插入排序...........................................214.2折半插入排序...........................................214.3选择排序...............................................224.4快速排序...............................................224.5归并排序...............................................234.6链表插入排序...........................................234.7堆排序.................................................244.8基数排序(MSD)........................................255测试....................................................26总结.....................................................34致谢.....................................................35参考文献.................................................36科技外文文献.............................................37附录A:基于姓名排序算法动态演示系统的设计与实现源代码.....47附录B:使用说明书.........................................80陕西理工学院毕业设计第1页共80页引言计算机技术的日益发展,其应用早已不局限于简单的数值运算。涉及到问题的分析、数据结构框架、以及插入、删除、排序查询等复杂的非数值处理和操作。“数据结构”是计算机程序设计的重要基础,也是计算机相关专业的一门重要基础课程和核心课程。其加强对新数据类型的研究和寻找更适用更完善的数据结构类型,也是今后数据结构研究的重要内容.抽象数据结构类型的出现,使得在面向对象的语言中,值和变量的类型不再单一,语言中的操作可以作用于多种类型的对象[1]。因此,要建立良好的数据结构,首先对系统按某种原则进行分解,使系统中各模块间独立性强,依赖性小,结构灵活,易于维护。然而,一个良好的分解,要依赖于抽象,只有对系统抽象到一定的程度,才能更好地分解。由于不以记录为基础的递归数据类型的出现,给许多高级应用领域提供了更好地表达复杂数据对象的方法。数据结构从一维二维向三维和多维数据结构的研究意义以及如何实现它们等等,都是数据结构今后研究的重要内容[2]。数据结构基本元素内容的发展变化,为数据结构的研究开拓了一个新的方向[1]。许多国内外学者都把数据结构的基本元素——数据,进一步扩充为知识,提出了知识的数据结构概念,这样就在更高层次上表示信息的知识代替了明显表示信息逻辑数据,把表示方法更加复杂的知识代替了较为简单的数据,开拓了数据结构研究的新方向.在原有的数据扩展到知识以后,除了基本元素结构表示的不同需要研究以外,更多地应加强对于基本元素间关系和运算以及它们的多种限定性和变化性方面的研究。总之,数据结构由于其基本元素的内容和本质的不断变化,它作为一门学科也要不断变化和适应新的要求。各个应用领域迫切需要解决的问题,也是当前数据结构基本的研究内容之一在计算机科学与信息融为一体的今天,研究数据结构,既要从计算机技术的发展考虑,也要从信息技术的发展考虑,特别需要重视从理论到实际的转化研究。许多诸如数据工程多媒介数据库和知识工程等等新发展起来的学科,也都大量涉及封数据结构的理论和技术,迫切要求开拓与之对适应的数据结构[11]。对于初学者,它对程序设计思想的建立、提升有着重要的作用,既为后续的计算机课程奠定了一个较为扎实的基础,又可提高分析问题和解决问题的能力,而排序更是“数据结构”里面的核心内容。排序算法的学习就是为以后利用计算机资源高效开发非数值处理的计算机程序打下坚定的理论、方法和技术基础。因此,本文以java为开发语言,设计开发了基于姓名排序算法动态演示系统,有助于初学者的形象直观的学习排序算法。陕西理工学院毕业设计第2页共80页1系统背景及意义1.1系统背景由于排序在计算机图形、计算机辅助设计、机器人、模式识别、基因排序工程及统计学等领域具有广泛应用,所以对排序的研究既有理论上的重要意义,又有实际应用价值。再加上现在信息产业的迅速发展,信息的流通量越来越大,如此庞大并且杂乱无章的信息数据十分难以管理和查询,就更加需要一种十分快捷而有效的编排手段来整理这些数据信息,让我们的工作效率得以提高[4]。1.2系统目的及意义随着计算机技术的发展,各种排序算法不断的被提出。排序算法在计算机科学中有非常重要的地位,且排序在人们的日常生活和学习、科研、生产等各个方面有着重要的应用,因此掌握常用的排序算法是很有必要。在以后的发展中,排序对我们的学习和生活的影响会逐渐增大,因此设计开发一个排序算法动画演示系统,以提高自己对排序算法的掌握程度,并希望该系统有助于初学者直观学习排序算法。此次毕业设计一方面使自己更好的掌握排序的知识,另一方面锻炼一下独立开发系统的能力。1.3开发工具介绍(1)Java语言Java[8]是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java分为三个体系JavaSE(J2SE)(Java2PlatformStandardEdition,java平台标准版),JavaEE(J2EE)(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(J2ME)(Java2PlatformMicroEdition,java平台微型版)。主要特性:Java语言是易学的[10]。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java语言是强制面向对象的[8]。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定[10]。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的[10]。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一

1 / 83
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功