码迷,mamicode.com
首页 >  
搜索关键字:快速排序    ( 3850个结果
数据结构之快速排序
1.快速排序思想 快速排序基本思想是:通过一趟排序将序列分成独立的两部分,其中一部分的关键字都小于或都大于另一部分的关键字,则可以对这两部分记录继续排序,达到整个序列有序位置。假设待排序记录a1,a2...an,n个记录,首先任意选取一个记录作为轴pivot,将比它小的记录放到其左边,将比它大的记....
分类:其他好文   时间:2014-08-01 04:43:11    阅读次数:244
常见排序算法(一) MergeSort
算法思想灰常重要,常见的用到分治思想的算法包括快速排序,归并,二分搜搜,大整数乘法等(参考 http://blog.csdn.net/com_stu_zhang/article/details/7233761,归纳很到位)简单用归并对一个数组排序 思路: 简单来说对一个数组,只要他的左右两部分都是有...
分类:其他好文   时间:2014-07-31 23:35:50    阅读次数:381
五大算法—分治算法
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排...
分类:其他好文   时间:2014-07-31 20:44:17    阅读次数:287
算法之快速排序
快速排序是1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称为分治法(Divide-and-Conquer Method)。分治法的基本思想:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。快速排序的基本思想:设当前待排...
分类:其他好文   时间:2014-07-31 19:37:57    阅读次数:184
求最小的k个数
和快速排序有点类似,利用快速排序的划分算法, 划分算法见http://blog.csdn.net/buyingfei8888/article/details/8997803 根据int partition(int number[],int start,int end);返回值为数组下标,大小为index,index左边值均小于number【index】,右边均大于number【index】,若...
分类:其他好文   时间:2014-07-31 17:05:16    阅读次数:191
【从零学习经典算法系列】分治策略实例——快速排序(QuickSort)
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要O(nlogn)次比较。在最坏状况下则需要O(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 此种排序的思路是:如果在分开的时候,不是从中间位置上分界,二是按照元素的大小分开为两个一大一小的子序列(一个子序列的所有元素大于另一个子序列里的所有元素),这样的话,因为两个子序列之间的相对次序已经正确,所有在合并的时候...
分类:其他好文   时间:2014-07-31 16:58:07    阅读次数:299
BFPRT线性查找算法
介绍: BFPRT算法解决的问题十分经典,即从某n个元素的序列中选出第k大(第k小)的元素,通过巧妙的分 析,BFPRT可以保证在最坏情况下仍为线性时间复杂度。该算法的思想与快速排序思想相似,当然,为使得算法在最...
分类:其他好文   时间:2014-07-31 13:45:56    阅读次数:452
数据结构精要------冒泡与直接排序算法
数据结构精要------冒泡与直接排序算法...
分类:其他好文   时间:2014-07-31 00:00:45    阅读次数:221
Partition算法及Partition算法用于快速排序
JavaScript简单方便,所以用JavaScript实现,可以在Chrome控制台下观察运行结果。主要实现Partition算法,比如输入为 var array = [4, 2, 1, 3, 6, 8, 9, 7, 5]; partition(array, 0, 8);那么按照array[0]即...
分类:其他好文   时间:2014-07-30 20:08:04    阅读次数:418
qsort函数、sort函数 (精心整理篇)
先说明一下qsort和sort,只能对连续内存的数据进行排序,像链表这样的结构是无法排序的。首先说一下, qsortqsort(基本快速排序的方法,每次把数组分成两部分和中间的一个划分值,而对于有多个重复值的数组来说,基本快速排序的效率较低,且不稳定)。集成在C语言库函数里面的的qsort函数,使用...
分类:其他好文   时间:2014-07-29 11:07:16    阅读次数:302
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!