插入归并
归并排序的时间复杂度为O(nlgn),空间复杂度为O(n);
但是一般来讲,基于从单个记录开始两两归并的排序并不是特别提倡,一种比较常用的改进就是结合插入排序,即先利用插入排序获得较长的有序子序列,然后再两两归并(改进后的归并亦是稳定的,因为插入排序是稳定的)。之所以这样改进是有原因的:尽管插入排序的最坏情况是O(n^2),看起来大于归并的最坏情况O(nlgn),但通常情况下,由于插...
分类:
其他好文 时间:
2015-01-17 18:03:28
阅读次数:
222
题目描述Description有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1]。问安排怎样的合并顺序,能够使得总合并代价达到最小。输入描述Input Description第一行一个整数n(nf[i,k]+f[k...
分类:
其他好文 时间:
2015-01-17 17:45:53
阅读次数:
214
开发iOS通讯录项目,遇到一个tableview 索引的问题。
测试同学发现一个bug:添加一个名字为宽字符A不能归并到索引A的section中,而是使用了添加了一个叫A的索引...
分类:
其他好文 时间:
2015-01-17 16:34:29
阅读次数:
231
原文:经典算法题每日演练——第十八题 外排序 说到排序,大家第一反应基本上是内排序,是的,算法嘛,玩的就是内存,然而内存是有限制的,总有装不下的那一天,此时就可以来玩玩
外排序,当然在我看来,外排序考验的是一个程序员的架构能力,而不仅仅局限于排序这个层次。 一:N路归并排序
1.概序 我们知道算法中...
分类:
编程语言 时间:
2015-01-16 12:55:26
阅读次数:
265
原文:算法系列15天速成——第三天 七大经典排序【下】今天跟大家聊聊最后三种排序: 直接插入排序,希尔排序和归并排序。 直接插入排序: 这种排序其实蛮好理解的,很现实的例子就是俺们斗地主,当我们抓到一手乱牌时,我们就要按照大小梳理扑克,30秒后, 扑克梳理完毕,4条3,5条s,哇塞...... 回忆...
分类:
编程语言 时间:
2015-01-16 09:53:07
阅读次数:
296
Sort a linked list in O(n log n)
time using constant space complexity.
MergeSort对于链表的排序,实现了就地排序的同时,时间复杂度和空间复杂度都达到了基于比较的排序的最优值,因此归并排序是链表排序的最佳排序方式。
/**
* Definition for singly-linked list.
* str...
分类:
其他好文 时间:
2015-01-15 16:01:52
阅读次数:
193
思想:将两个(或以上)的有序表组成新的有序表。说明:(1)更实际的意义:可以把一个长度为n 的无序序列看成是 n 个长度为 1 的有序子序列 ,首先做两两归并,得到 én / 2ù 个长度为 2 的子序列 ;再做两两归并,…,如此重复,直到最后得到一个长度为 n 的有序序列。(2)性能分析。空间性能...
分类:
编程语言 时间:
2015-01-15 12:21:34
阅读次数:
259
因为链表是节点式存储,不能做到随机存储,但是对于两个有序链表之间的合并不需要额外的空间,在O(1)空间复杂度O(n)时间复杂度内即可完成。所以对于链表排序,使用归并排序比较划算。
typedef struct Node List;
struct Node
{
int value;
List* next;
};
//链表节点结构体
首先合并两个...
分类:
编程语言 时间:
2015-01-14 20:01:41
阅读次数:
272
求逆序对个数。
暴力 n^2 TLE妥妥的。要么 归并排序的时候统计,要么线段树或者数状数组优化。
时间复杂度都是 n*logn
线段树求逆序数怎么写呢。
例如样例的
9 1 0 5 4
其位置pos 为
0 1 2 3 4
再来一个数组设为
0 0 0 0 0
线段树先插入 (9,0),把插入的位置 0 变成 1。
1 0 0 0 0
然后统...
分类:
其他好文 时间:
2015-01-13 12:34:11
阅读次数:
189
【题目】
Sort a linked list in O(n log n)
time using constant space complexity.
【分析】
单链表适合用归并排序,双向链表适合用快速排序。本题可以复用Merge Two Sorted Lists方法
【代码】
/*********************************
* 日期:2015-01-1...
分类:
其他好文 时间:
2015-01-13 00:10:40
阅读次数:
184