码迷,mamicode.com
首页 >  
搜索关键字:sort    ( 12890个结果
一个排序算法的解析
int[] source = { 8, 9, 10, 7, 6, 10, 20, 5, 21 }; public static void sort(int[] list) { for (int i = 1; i = 0; j--) { if (lis...
分类:编程语言   时间:2015-01-27 14:47:53    阅读次数:150
[C++]LeetCode: 126 Insertion Sort List (插入排序链表)
题目:Sort a linked list using insertion sort. 思路:题目要求我们用插入排序来实现链表排序。我们构建一个当前排好序的链表,然后维护一个变量,不断指向链表中的下一个节点。用变量cur表示当前要插入的节点,每次循环找到cur节点在当前排好序的链表中对应的位置,然后插入进去,然后指向原链表中下一个节点,继续进行插入过程,直到原链表的所有节点都完成,既经过...
分类:编程语言   时间:2015-01-27 13:31:24    阅读次数:205
[C++]LeetCode: 125 Sort List (归并排序链表)
题目:Sort a linked list in O(n log n) time using constant space complexity. 思路:题目要求我们使用常数空间复杂度,时间复杂度为O(nlog(n)). 满足这个时间复杂度的有快速排序,归并排序,堆排序。插入排序时间复杂度为O(n^2). 双向链表用快排比较合适,堆排序也可用于链表,单项链表适合于归并排序。我们就用归并排序的...
分类:编程语言   时间:2015-01-27 11:13:51    阅读次数:190
SDJZU_新生_排序_You Are All Excellent(sort方法)
You Are All Excellent Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description 本次集训队共有30多人参加,毫无疑问,你们都是很优秀的,但是由于参赛名额有限...
分类:编程语言   时间:2015-01-26 22:59:17    阅读次数:209
选择排序(C语言实现)
/* 选择排序:就是选一个最小(或最大)排在左边或者右边 */ //头文件 sort.h #include void Print(int* arr,int len) { int i; for(i=0;i<len;i++) { printf("%d ",arr[i]); } printf("\n"); } void Swap(int* a,int* b) { *a=...
分类:编程语言   时间:2015-01-26 22:46:46    阅读次数:150
两个有序数组中查找第K大数
题目:两个数组A、B,长度分别为m、n,即A(m)、B(n),分别是递增数组。求第K大的数字。方法一:简单的办法,使用Merge Sort,首先将两个数组合并,然后在枚举查找。这个算法的时间复杂度是O(m+n)、空间复杂度也是O(M+n)。这个方法其实没有考虑到有第K大数为两个相同数字的情况。方法二...
分类:编程语言   时间:2015-01-26 22:25:57    阅读次数:295
快速排序 Quick Sort
快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序流程:(1...
分类:编程语言   时间:2015-01-26 15:08:12    阅读次数:202
冒泡排序 Bubble Sort
冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数...
分类:编程语言   时间:2015-01-26 15:05:47    阅读次数:301
选择排序(Selection sort)
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。简单的可以理解为:将整个数组视为虚拟的有序...
分类:编程语言   时间:2015-01-26 15:01:49    阅读次数:230
插入排序 Insertion Sort
插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向...
分类:编程语言   时间:2015-01-26 14:59:48    阅读次数:186
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!