码迷,mamicode.com
首页 >  
搜索关键字:并排    ( 3427个结果
【LeetCode】 sort list 单链表的归并排序
题目:Sort a linked list in O(n log n) time using constant space complexity. 思路:要求时间复杂度O(nlogn) 知识点:归并排序,链表找到中点的方法 存在的缺点:边界条件多考虑!!! /** * LeetCode Sort List Sort a linked list in O(n log n) time us...
分类:编程语言   时间:2015-03-16 23:14:12    阅读次数:260
leetcode题解||Median of Two Sorted Arrays问题
problem: There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). thinking: (1)求中位数,就是求已...
分类:其他好文   时间:2015-03-16 21:26:18    阅读次数:162
排序算法总结
目录简介交换排序冒泡排序快速排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序归并排序基数排序总结简介排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参...
分类:编程语言   时间:2015-03-16 08:38:00    阅读次数:264
《转载》一步一步写算法(之 算法总结)
自10月初编写算法系列的博客以来,陆陆续续以来写了几十篇。按照计划,还有三个部分的内容没有介绍,主要是(Dijkstra算法、二叉平衡树、红黑树)。这部分会在后面的博客补充完整。这里主要是做一个总结,有兴趣的朋友可以好好看看,欢迎大家提出宝贵意见。 (1) 排序算法 快速排序 合并排序堆排序选...
分类:编程语言   时间:2015-03-15 18:07:09    阅读次数:184
三种排序算法小结
首先是归并排序,基本思想为分治,合并的技巧比较重要,不是原址排序。代码如下;int merge(int* x,int left,int mid,int right) { int i,j,k; int L1 = mid-left+2; int L2 = right-mid+1; int* L = new int[L1]; int* R = new int[L2]...
分类:编程语言   时间:2015-03-15 15:24:06    阅读次数:184
前端笔试题目练习笔记:统计数组中不同的数字出现的概率并排序
题目要求:有一个int型数组,里面有若干数字。要求统计出一共有多少种不同的数字?每种数字出现的频率?将数组按出现频率从少到多排列,频率相同则从小到大排列。 解决方法:用一个数组来存储不同的数字及出现概率,逐一拿出数组中的数字和数组中的其他数字进行比较,相同则把相同的那个设为null,同时将该数字对应的出现次数加1,最后使用冒泡排序 js实现代码:var NumberData=[1,4,5,7,8...
分类:编程语言   时间:2015-03-14 16:55:39    阅读次数:172
快速排序和归并排序
在算法导论中众多的排序算法之中,最最重要的,也是必须要提笔会写的两个算法就是快速排序算法和归并排序算法了。这两种算法都是典型的分治法策略,即将一个大问题分成一个个的小问题,再逐一解决。 快速排序流程: (1) 从数列中挑出一个基准值,一般选择中间位置的值。 (2) 将所有比基准值小的摆放在基准前面,...
分类:编程语言   时间:2015-03-14 16:50:07    阅读次数:156
数据结构:排序(2)
四、归并排序1.自底向上基本思想:第1趟归并排序时,将待排序的文件R[1..n]看作是n个长度为1的有序子文件,将这些子文件两两归并,若n为偶数,则得到 个长度为2的有序子文件;若n为奇数,则最后一个子文件轮空(不参与归并)。故本趟归并完成后,前lgn个有序子文件长度为2,但最后一个子文件长度仍为1...
分类:编程语言   时间:2015-03-14 15:08:43    阅读次数:170
算法基础:分治模式,归并排序ΘΘΘΘΘΘ知识小结
分治模式在每层递归时都有三个步骤:分解,解决,合并归并排序算法完全遵循分治模式:分解:分解待排序的n个元素的序列成各具n/2个元素的两个子序列解决:使用归并排序递归的排序两个子序列合并:合并两个已排序的子序列以产生已排序的答案分析分治算法所需要的时间计算: 假设T(n)是规模为n的一个问题的运行时间,若问题足够小,如对某个常量c,n≦c,则直接求解需要常量时将,我们将其写作Θ(1).假设吧原问题...
分类:编程语言   时间:2015-03-13 23:50:31    阅读次数:438
在归并排序(合并排序)中的小数组使用插入排序
长度为n,分为n/k个小数组,每个长度为k问K取何值时能使效率最高易得O(n)=nk+nlg(n/k)nk是n/k个小数组进行插入排序k×k,得nknlg(n/k)是n/k个数组进行归并需要lg(n/k)次合并,每次代价为n的的答案应为lgnO(n)=nk+nlgn-nlgk若k>lgn,则前半部分...
分类:编程语言   时间:2015-03-13 18:29:10    阅读次数:216
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!