基本信息
- 项目名称:
- 实用排序算法综合解析
- 来源:
- 第十二届“挑战杯”省赛作品
- 小类:
- 信息技术
- 大类:
- 科技发明制作B类
- 简介:
- 本文将介绍并分析比较各种实用的基础排序算法(不带优化)的运行效率,时间复杂度并总结其优劣。文中代码全由作者使用C语言原创编写。
- 详细介绍:
- 生活中充满着各种各样的数据,而计算机作为一种帮助人类解决实际问题的工具需要处理各种数据,而单纯提取出的数据有时候是混乱无序的,这时候就需要对这些数据进行有序化处理以提高计算机处理效率。将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序。 本文将按照稳定性的区分由浅入深的介绍各种实用的基础排序算法(不带优化)的算法思想,操作步骤。并根据具体代码分析(为方便理解,文中全部代码均为作者亲自以最简洁形式编写,且经过编译检验实际可行)比较其运行效率,时间复杂度以及空间复杂度。最后总结其优劣。
作品专业信息
设计、发明的目的和基本思路、创新点、技术关键和主要技术指标
- 本作品是为了能够综合横向比较各种排序算法的优势与劣势,以大家所熟知的C语言代码为样例,为程序设计人员提供一个很好的参考资料。基本思路是按照各种排序算法的稳定性区别,分别从最基本的算法入手,逐一介绍分析各算法。最后再综合比较其时间,空间复杂度等参数。
科学性、先进性
- 本作品均按照各算法书和科学资料介绍的基本思想进行严谨的扩充后撰写。所有代码均由作者亲自编码,且通过Visual Studio 2010实际测试可行。 虽然许多算法书上都有各种算法介绍,但是都不算完整健全,且未进行科学的综合分析比较,而互联网上的各种比较文章都不精确,且范围小。因此本作品是科学,先进,独特的。
获奖情况及鉴定结果
- 无
作品所处阶段
- 完成
技术转让方式
- 无
作品可展示的形式
- 任意
使用说明,技术特点和优势,适应范围,推广前景的技术性说明,市场分析,经济效益预测
- 数据的输入和初始处理是程序设计中非常重要的一环。如果初始化程序能够设计的好,可以极大的简化后续程序的设计,甚至只需少许处理即可出解。由于实际应用中输入的数据往往是杂乱无章的,使得数据有序化的排序算法的选择就显得尤为重要了。本文可以为各种程序设计人员提供很好的参考样例和分析。
同类课题研究水平概述
- 国内外对此课题的综合专业研究几乎没有。即使连微软官方支持中也只有使用VB代码编写的简要说明。(如下) 原版: 如何排序算法的数值数组 文章编号: 169617 - 最后修改: 2004年8月30日 - 修订: 2.2 概要 本文演示如何使用排序算法来排序数字数组。它描述了三种方法之一对一系列数字进行排序,并提供示例代码显示如何实现它们与时间排序执行的每个算法的。 它通常是所需排序一系列数字在代码中,并且没有可用于执行此操作的各种排序算法。 更多信息 本文包括三种方法: 冒泡排序法 所选内容排序 外壳程序排序 尽管这可能很容易地更改为不同的数字数据类型,每个例程只需接收完整的边界内的数字为长数据类型的数组。请注意,排序例程返回传递给该例程的数组中的排序操作的结果。因此,如果不想要修改原始数组,将数组复制到一个变量,如,在下面的示例所示,然后将该变量传递给相关的过程。