快速排序算法是基于分治策略的另一个排序算法。其基本思想是,对于输入的字数组a[p:r],按以下3个步骤进行排序: (1)分解:以a[p]为基准元素将a[p:r]划分成3段a[p:q-1],a[q]和a[q+1:r],使得a[p:q-1]中任何元素小于等于a[q],a[q+1:r],中的任何元素大于等于a[q]。下标q在划分过程中确定 (2)递归求解:通过递归调用快速排序算法,分别对a[p:q-1]和a[q+1:r]进行排序 (3)合并:在a[p:q-1]和a[q+1:r]已经排好序的情况下,不需要执行任何运算,a[p:r]就已排好序 平均算法复杂度O(nlogn)
上传时间: 2016-07-09
上传用户:wuyuying
一些排序算法的实现,包括快速排序,直接插入排序等
标签: 排序算法
上传时间: 2016-07-19
上传用户:huannan88
实现的是用图形界面演示冒泡排序算法,直接在turbo C下运行即可看到运行结果
上传时间: 2013-12-12
上传用户:坏坏的华仔
用汇编语言实现的冒泡排序算法程序。排20个正整数。
上传时间: 2014-01-11
上传用户:源弋弋
各种很经典的排序算法,绝对好,大家可以看看,对提高数据结构是非常有用的。
标签: 排序算法
上传时间: 2016-07-23
上传用户:894898248
VC++的排序算法大全 VC++的排序算法大全 VC++的排序算法大全
上传时间: 2013-12-26
上传用户:ls530720646
数据结构课堂实验 集中了数据结构,线性表,连表,栈,队列,二叉树,图,排序算法,查找算法的实现
上传时间: 2013-12-21
上传用户:lhw888
各种排序算法设计。 包括简单的:冒泡,比较,选择,shell 和复杂的:快速,堆,二路归并排序
上传时间: 2013-12-20
上传用户:kbnswdifs
快速排序算法,二分排序算法的完全实现 时间复杂度只有log(N)
上传时间: 2013-12-25
上传用户:zhengzg
1. 内部排序演示 问题描述 设计一个测试程序比较几种排序算法的关键字比较次数和移动次数以取得直观感受。 基本要求 (1)对起(冒)泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序算法进行比较; (2)待排序的元素的关键字为整数。其中的数据要用伪随机产生程序产生(如10000个),至少用5组不同的输入数据做比较,再使用各种算法对其进行排序,记录其排序时间,再汇总比较; (3)演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标值的列表,用条形图(星号表示)进行表示,以便比较各种排序的优劣。 测试数据 由随机数产生器生成 实现提示 主要工作是设法在已知算法中的适当位置插入对关键字的比较次数和移动次数的计数操作。程序还可以考虑几组数据的典型性,如:正序、逆序和不同程度的乱序。注意采用分块调试的方法。 选作内容 (1)对不同表长进行比较 (2)验证各算法的稳定性
上传时间: 2014-01-03
上传用户:lindor