Sort ListSort a linked list inO(nlogn) time using constant space complexity.这道题我想过用直接插入,超时了。百度了一下,用的是归并排序,排序以前用的都是数组,这次用链表,不太习惯参考:http://blog.csdn.net...
分类:
其他好文 时间:
2014-12-15 00:06:08
阅读次数:
238
学长一晚上的耐心讲解,使我明白区间DP这么高级的东西,还是挺容易的。也就是在一段区间内的动态规划。 下面用例题进行总结。 例题:石子归并。 描述 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,并将新的一堆石子数记为该次合并的...
分类:
其他好文 时间:
2014-12-14 14:28:10
阅读次数:
116
堆排序和归并排序一样,时间复杂度为CodeCogsEqn(15),而且可以实现原址排序:任何时候都只需要常数个额外的元素空间存储临时数据。
分类:
编程语言 时间:
2014-12-13 23:06:21
阅读次数:
165
寻找大富翁
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4132 Accepted Submission(s): 1698
Problem Description
浙江桐乡乌镇共有n个人,请找出该镇上的前...
分类:
编程语言 时间:
2014-12-12 08:54:07
阅读次数:
189
归并排序
归并排序我在之前已经讲过了,并且给了在数组的数列的情况下的归并排序方法,而排序的时间复杂度为O(NlogN).想看的话链接如下:
归并排序,快排,冒泡排序
但是这个归并排序有一个缺点:需要O(n)的额外空间。
那么这个缺点在什么情况下会解决呢?就是数列是以链表形式存储的时候!就不需要额外的申请O(n)级别的空间。
那么我们为什么要用归并排序呢? 不是还有快排,堆...
分类:
编程语言 时间:
2014-12-12 01:22:17
阅读次数:
250
Inversion
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 1898 Accepted Submission(s): 743
Problem Description
bobo has a sequ...
分类:
编程语言 时间:
2014-12-11 12:20:46
阅读次数:
221
数据结构实验之链表四:有序链表的归并
Time Limit: 1000MS Memory limit: 65536K
题目描述
分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。
输入
第一行输入M与N的值;
第二行依次输入M个有序的整数;
第三行依次输入N个有序...
分类:
其他好文 时间:
2014-12-11 06:46:01
阅读次数:
171
实现单链表排序 时间复杂度要求为 nlogn
由于是单链表,用快速排序无法往前面遍历(双向链表可以考虑),这里我们用到归并排序
代码如下:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(in...
分类:
其他好文 时间:
2014-12-10 22:52:35
阅读次数:
258
//指针在C语言算法中的应用
//首先说的是排序
//排序基本上分为5种
//插入排序, 选择排序, 交换排序, 归并排序, 分配排序
//先说7上8下的冒泡排序
#include
#include
using namespace std;
void BubbleSort(int *Array, int n)
{
int a;
for(int i = n; i > 0;...
分类:
其他好文 时间:
2014-12-10 16:20:49
阅读次数:
222
前段时间用归并排序写了这题,发现树状数组也能解这题,就去学习了一下
首先先来看一个序列 6 1 2 7 3 4 8 5,此序列的逆序数为5+3+1=9。冒泡法可以直接枚举出逆序数,但是时间复杂度太高O(n^2)。冒泡排序的原理是枚举每一个数组,然后找出这个数后面有多少个数是小于这个数的,小于它逆序数+1。仔细想一下,如果我们不用枚举这个数后面的所有数,而是直接得到小于这个数的个数,那么效率将...
分类:
编程语言 时间:
2014-12-09 23:08:39
阅读次数:
270