多种排序算法动态演示软件的设计与开发
来源:wenku163.com 资料编号:WK1638197 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9AWK1638197
资料介绍
多种排序算法动态演示软件的设计与开发
摘 要
随着计算机科学技术的不断提高和发展,其强大的运算功能已经逐渐融入人类社会的各个领域,并且在各个领域中发挥越来越重要的作用。当然,高效的运算速度并不代表无限快,在有限的资源空间里,要大大提高运算处理数据的速率,就需要我们使用那些在时间和空间上体现出高效的算法。本系统是为了演示在同一问题上,不同的算法在效率上存在的巨大差异。本系统采用Visual C++ 6.0中文版为开发工具,实现三种不同排序算法,即:冒泡排序算法、选择排序算法和快速排序算法,以及这三种排序对同一问题的处理并且以图形的形式给出快慢比较,实现排序算法的动态演示。其目的是为了让我们在使用计算机处理规模越来越大的数据问题上,能够清楚什么样的算法适合当前的处理系统。
关键词:Visual C++;排序算法;动态演示
The Design and Development of Dynamic Sorting Algorithm Demo
Abstract
With computer science and technology improvement and development, its powerful computing has gradually integrate into human society in various fields, and play an increasingly important role. Of course, efficient computational speed does not mean unlimited fast, and the limited resources of space, Operators must significantly improve processing speed, we need to use the time and space reflects efficient algorithms. The system is to demonstrate on the same issues in different algorithm efficiency in the enormous difference. The system uses Visual C ++6.0 for the development of the Chinese version of tools to achieve three different sorting algorithms, namely : The Bubble Sorting Algorithm, The Select Sorting Algorithm and The Quick Sorting Algorithm, and three ranking on the same issue to deal with and the graphics are presented in the form of speed, Sorting Algorithm to achieve the dynamic presentation. Its purpose is that enable us to use computers to handle the increasingly large scale data problems, to know what kind of algorithm is suitable for the current system.
Key words: Visual C ++ ; Sorting Algorithm; Dynamic Demonstration
目录
论文总页数:21页
1 引言 1
1.1 系统背景 1
1.2 系统开发的意义 1
1.3 系统开发的相关技术 1
1.4 系统开发的相关概念 1
2 系统需求及分析 2
2.1 系统需求 2
2.2 系统开发环境选择 2
2.3 系统的总体规划 2
3 系统设计思想 2
3.1 冒泡算法及思想 2
3.2 选择算法及思想 4
3.3 快速算法及思想 5
4 详细设计 8
4.1 系统的文件的组织 8
4.2 动态演示冒泡算法模块设计 8
4.3 动态演示选择算法模块设计 11
4.4 动态演示快速算法模块设计 13
4.5 同时比较三种算法模块设计 16
4.6 系统的测试 16
4.7 系统的特点 18
结 论 19
参考文献 19
致 谢 20
声 明 21
1 引言
1.1 系统背景
由于排序在计算机图形、计算机辅助设计、机器人、模式识别、基因排序工程及统计学等领域具有广泛应用,所以对排序的研究既有理论上的重要意义,又有实际应用价值。再加上现在信息产业的迅速发展,信息的流通量越来越大,如此庞大并且杂乱无章的信息数据十分难以管理和查询,就更加需要一种十分快捷而有效的编排手段来整理这些数据信息,让我们的工作效率得以提高。
1.2 系统开发的意义
在现代信息发达的今天,面对接受到大量的无序的信息,没有一个规则来编排和查询,会给我们的工作和信息交流带来十分的不便。因此,利用计算机的高速运用和计算能力,编写出一种合适的排序软件,能十分快捷的给我们在信息交流和查询带来便利。例如在互联网上为了使人们能够快速的访问和检索大量的信息,人们会运用许多快速并且优秀的算法对这些数据进行管理和操纵。优秀的算法还能帮助我们在互联网上快速找到最好的发送数据路线,以及怎么用搜索引擎来快速地找到信息所在的页面。
1.3 系统开发的相关技术
本系统利用Visual C++ 6.0作为开发平台,利用它的可视化界面,在其MFC环境下开发的一个演示三种不同排序算法,利用画刷画出三种不同的排序算法在排列随即产生的0-70个数的过程,并且能够对比这三种排序算法在相同的条件下,排序速率的快慢。运用VC编程语言,把一个程序中的算法和程序框架有效的结合起来,并且实现排序算法的动态演示。
1.4 系统开发的相关概念
首先我们要了解排序到底是什么?它的主要功能和目的是什么?简单的说,排序是利用一种算法,将一个无规则的序列排成一个有序序列的过程。而算法则是以一组值或者一个值的集合作为输入,经过一系列计算得到的一组值作为输出的过程,即是指那一系列将输入转化为输出的计算过程。
排序的方法有很多种,但是没有一种排序算法是通用的,即在任何情况下都能保持最快的排序速度。因此我们必须根据需要处理数据的特点来选择合适的算法。在排序的过程中,我们一般需要用到的两个基本操作步骤是:比较两个关键字的大小和将记录从一个位子移至另一个位子,即比较和交换。本系统设定的情况为,记录关键字都为整数,排序的结果是从大到小的排列,用到的三种排序算法为:冒泡排序法、选择排序法、快速排序法。 |