码迷,mamicode.com
首页 >  
搜索关键字:排序算法    ( 6430个结果
归并排序的应用
一、归并排序 算法思路就是把数组分成左右两个部分,然后再进行归并两个有序表 void merge(int* num,int start,int mid,int end,int* copy) { int i = start,m = mid,j = mid+1,n = end,k=start; while(i <= m && j <= n) { if(num[i] < num[j])co...
分类:其他好文   时间:2014-08-27 13:04:57    阅读次数:247
总结N种排序算法及实现
排序算法是一个简单的问题,但在此问题上却有大量的研究!当前的排序算法通常按照如下四个方面进行分类(或是评价): 1、时间复杂度:一个排序算法的理想性能是O(n)。一般而言,好的性能O(nlogn),坏的性能O(n2)。 2、空间复杂度(内存使用量) 3、稳定性:稳定的排序算法会让原本有相等键值...
分类:其他好文   时间:2014-08-26 21:16:26    阅读次数:254
白话经典算法系列之五 归并排序的实现
归并排序是建立在归并操作上的一种有效的排序算法。该算法是採用分治法(Divide and Conquer)的一个很典型的应用。首先考虑下怎样将将二个有序数列合并。这个很easy,仅仅要从比較二个数列的第一个数,谁小就先取谁,取了后就在相应数列中删除这个数。然后再进行比較,假设有数列为空,那直接将还有...
分类:其他好文   时间:2014-08-26 15:01:46    阅读次数:209
内部排序算法(一):交换排序(冒泡排序,快速排序)
这是我的博文系列《内部排序算法》的第一篇。所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。所谓内部排序,是指在排序过程中,若整个文件都是放在内存中处理,排序时不涉及数据的内、外存交换(外排序的定义则相反)。         内部排序法按照策略可以划分为五类:插入排序、选择排序、交换排序、归并排序和分配排序。待排文件的存储方式采用顺序表(或直接用向量)作为存储结构(其他的...
分类:其他好文   时间:2014-08-26 00:31:45    阅读次数:352
合并排序
描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中两路合并排序算法进行排序,并输出排序最后结果的相应序列。输入共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤100000,每个元素值范围为[0,100000]输出一行,输出排序结果。样例输入7483668721248...
分类:其他好文   时间:2014-08-25 22:47:04    阅读次数:270
基本算法复习--排序(java实现)
日常操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就...
分类:编程语言   时间:2014-08-25 21:07:44    阅读次数:373
策略模式
模式说明定义算法家族并且分别封装,它们之间可以相互替换而不影响客户端。模式结构图程序示例说明:选择不同排序算法代码:class OrderStrategy(object): """sort base""" def Sort(self,*args): passclass Bu...
分类:其他好文   时间:2014-08-25 18:42:34    阅读次数:182
八大排序算法总结
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:其他好文   时间:2014-08-25 13:17:24    阅读次数:176
C#选择排序详解
选择排序图解 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序...
分类:其他好文   时间:2014-08-25 03:24:44    阅读次数:227
C#插入排序详解
这几天一直在研究算法,也算有点心得,现在跟大家分享一下,我是用C#做的排序算法是想要成为大虾程序员必须要掌握的技术,它其实也是一种思想,你对算法熟悉,对以后编程有很大帮助算法思路⒈ 从第一个元素开始,该元素可以认为已经被排序⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描⒊ 如果该元素(已排序...
分类:其他好文   时间:2014-08-25 02:16:53    阅读次数:159
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!