这是我在2006年用Delphi 2006写的一个软件,其中包含了35种(或改进版本)的基于比较的内部排序算法,并对这些算法进行了性能测试(基于多种数据分布及随机类型)和动态图形分析以及数据动态图形分布演示。
其中许多算法仅仅用于分析和研究并无实用价值。
当时只写了英文版本,后来准备写个简体中文版,但一直没有时间,遂作罢。
软件名称比较长:Inside comparison sort algorithms benchmark & dynamic analyzation kit 1.0.1
其中算法包括:
Adaptive nonrecursion quick sort [Mengliao]
Adaptive in-place 2-way merge sort
Comb sort 11
Segmention heap sort [Mengliao]
Quick sort [Median pivot]
Shell sort [Sedgewick's increment]
Comb sort
Nonrecursion merge sort [Breadth first]
Merge sort [Depth first]
Quick sort [Random pivot]
Shell sort [Knuth's increment]
Shell sort [Hibbard's increment]
Quick sort [First pivot]
Complex heap sort [Mengliao]
Batcher sort [Parallel]
Bitonic sort [Parallel]
Shaker sort
Random sort [Mengliao]
Random binary insertion sort [Mengliao]
Shear insertion sort [Parallel] [Mengliao]
Shear sort [Parallel]
Shear selection sort [Parallel] [Mengliao]
In-place 2-way merge sort
Binary insertion sort
Linear insertion sort [Straight insertion]
Bi-directional selection sort
Linear selection sort
Cocktail sort [Bi-directional bubble]
Gnome sort
Odd-even transposition sort [Parallel]
Bubble sort
Tally sort [Mengliao]
QM sort [Mengliao]
Stooge sort
Permutation sort [Mengliao]
算法名称结尾包含[Parallel]字样的为并行算法,用于硬件并行处理(例如网络交换机等),但软件为了进行比较分析的一致性,并未使其并行运算。
算法名称结尾包含[Mengliao]字样的为我设计或改进的算法,实不堪方家一哂。
算法名称结尾的方括号中的其它内容是该算法的补充,例如:Shell sort [Sedgewick's increment]是指该希尔排序算法是基于Sedgewick的增量序列的;再例如:Nonrecursion merge sort [Breadth first]是指该非递归归并排序算法是广度优先的。
软件可以生成非常复杂的数据用于测试,例如线性/高斯随机,包含有序数据的随机数据,包含重复数据的随机数据,并且有序和重复数据可以非常详细的定制。
软件可以将数据保存为文本文件,以供分析。
软件图示方式也有多种,这里就不一一介绍了。
软件可以正常运行在Windows 2000/XP/2003/2008/Vista/7下;软件只有一个.exe文件,首次运行会在当前目录(存放软件的目录)中生成一个.ini文件,不会在注册表中添加任何内容,故无需安装或卸载。
软件包含数万行源代码,就不放在这里了,我将在其它博文里逐步发布其核心代码,并作解释,谢谢!
以下是软件截图:
最后补充说明一下,由于51cto.com没有Delphi分类,只好把它放在C/C++分类下。
如果下面的链接不能下载,请从这里下载:http://blog.51cto.com/attachment/201012/876134_1293382311.rar