欢迎来到天天文库
浏览记录
ID:6187282
大小:2.94 MB
页数:82页
时间:2018-01-06
《基于姓名排序算法动态演示系统的设计与实现毕业设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于姓名排序算法动态演示系统的设计与实现毕业设计目录引言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科技外文文
2、献37附录A:基于姓名排序算法动态演示系统的设计与实现源代码47附录B:使用说明书8022引言计算机技术的日益发展,其应用早已不局限于简单的数值运算。涉及到问题的分析、数据结构框架、以及插入、删除、排序查询等复杂的非数值处理和操作。“数据结构”是计算机程序设计的重要基础,也是计算机相关专业的一门重要基础课程和核心课程。其加强对新数据类型的研究和寻找更适用更完善的数据结构类型,也是今后数据结构研究的重要内容.抽象数据结构类型的出现,使得在面向对象的语言中,值和变量的类型不再单一,语言中的操作可以作用于多种类型的对象[1]。因此,要建立良好的数据结构,首先对系统按某种原则进行分解
3、,使系统中各模块间独立性强,依赖性小,结构灵活,易于维护。然而,一个良好的分解,要依赖于抽象,只有对系统抽象到一定的程度,才能更好地分解。由于不以记录为基础的递归数据类型的出现,给许多高级应用领域提供了更好地表达复杂数据对象的方法。数据结构从一维二维向三维和多维数据结构的研究意义以及如何实现它们等等,都是数据结构今后研究的重要内容[2]。数据结构基本元素内容的发展变化,为数据结构的研究开拓了一个新的方向[1]。许多国内外学者都把数据结构的基本元素——数据,进一步扩充为知识,提出了知识的数据结构概念,这样就在更高层次上表示信息的知识代替了明显表示信息逻辑数据,把表示方法更加复杂
4、的知识代替了较为简单的数据,开拓了数据结构研究的新方向.在原有的数据扩展到知识以后,除了基本元素结构表示的不同需要研究以外,更多地应加强对于基本元素间关系和运算以及它们的多种限定性和变化性方面的研究。总之,数据结构由于其基本元素的内容和本质的不断变化,它作为一门学科也要不断变化和适应新的要求。各个应用领域迫切需要解决的问题,也是当前数据结构基本的研究内容之一在计算机科学与信息融为一体的今天,研究数据结构,既要从计算机技术的发展考虑,也要从信息技术的发展考虑,特别需要重视从理论到实际的转化研究。许多诸如数据工程多媒介数据库和知识工程等等新发展起来的学科,也都大量涉及封数据结构的
5、理论和技术,迫切要求开拓与之对适应的数据结构[11]。对于初学者,它对程序设计思想的建立、提升有着重要的作用,既为后续的计算机课程奠定了一个较为扎实的基础,又可提高分析问题和解决问题的能力,而排序更是“数据结构”里面的核心内容。排序算法的学习就是为以后利用计算机资源高效开发非数值处理的计算机程序打下坚定的理论、方法和技术基础。因此,本文以java为开发语言,设计开发了基于姓名排序算法动态演示系统,有助于初学者的形象直观的学习排序算法。第1页共80页1系统背景及意义1.1系统背景由于排序在计算机图形、计算机辅助设计、机器人、模式识别、基因排序工程及统计学等领域具有广泛应用,所以
6、对排序的研究既有理论上的重要意义,又有实际应用价值。再加上现在信息产业的迅速发展,信息的流通量越来越大,如此庞大并且杂乱无章的信息数据十分难以管理和查询,就更加需要一种十分快捷而有效的编排手段来整理这些数据信息,让我们的工作效率得以提高[4]。1.2系统目的及意义随着计算机技术的发展,各种排序算法不断的被提出。排序算法在计算机科学中有非常重要的地位,且排序在人们的日常生活和学习、科研、生产等各个方面有着重要的应用,因此掌握常用的排序算法是很有必要。在以后的发展中,排序对我们的学习和生活的影响会逐渐增大,因此设计开发一个排序算法动画演示系统,以提高自己对排序算法的掌握程度,并希
7、望该系统有助于初学者直观学习排序算法。此次毕业设计一方面使自己更好的掌握排序的知识,另一方面锻炼一下独立开发系统的能力。1.3开发工具介绍(1)Java语言Java[8]是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个
此文档下载收益归作者所有