今天遇到一个sql,分组求和过后排序,就想一句sql实现
开始是这么想的:
select re.c, re.d
from (select c, max(d) as d from a group by c) re
order by re.d desc
总感觉重复啰嗦,就百度了一下下(以为要用having,结果就下面简单一句搞定):
select c,max(d) fr...
分类:
数据库 时间:
2015-01-15 11:03:08
阅读次数:
171
因为链表是节点式存储,不能做到随机存储,但是对于两个有序链表之间的合并不需要额外的空间,在O(1)空间复杂度O(n)时间复杂度内即可完成。所以对于链表排序,使用归并排序比较划算。
typedef struct Node List;
struct Node
{
int value;
List* next;
};
//链表节点结构体
首先合并两个...
分类:
编程语言 时间:
2015-01-14 20:01:41
阅读次数:
272
ORACLE中用rownum分页并排序的SQL语句 以前分页习惯用这样的SQL语句: select * from (select t.*,rownum row_num from mytable t order by t.id) b where b.row_num between 1 and 10 结...
分类:
数据库 时间:
2015-01-13 15:37:16
阅读次数:
168
求逆序对个数。
暴力 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
Ultra-QuickSort
Time Limit: 7000MS
Memory Limit: 65536K
Total Submissions: 43816
Accepted: 15979
Description
In this problem, you have to analyze a particular sorti...
分类:
编程语言 时间:
2015-01-12 16:45:05
阅读次数:
256
找到两个已排序数组的中间值,如输入{2,3,5},{4,6},输出4,若输入{2,3,5},{4,6,8},则输出4.5。因为是两个已排序数组,我想到的是用归并排序的思想,排序后数组中间的那个数,或中间两个数的平均数即为所求的median。
{CSDN:CODE:577991}...
分类:
其他好文 时间:
2015-01-12 16:31:23
阅读次数:
186
介绍
KNN算法全名为k-Nearest Neighbor,就是K最近邻的意思。KNN也是一种分类算法。但是与之前说的决策树分类算法相比,这个算法算是最简单的一个了。算法的主要过程为:
1、给定一个训练集数据,每个训练集数据都是已经分好类的。
2、设定一个初始的测试数据a,计算a到训练集所有数据的欧几里得距离,并排序。
3、选出训练集中离a距离最近的K个训练集数据。
4、比较k个训练集数...
分类:
编程语言 时间:
2015-01-12 09:32:18
阅读次数:
599
归并排序也是一种很优越的排序方式,并且时间复杂度为O(nlogn),而且归并排序的思想很有意思很有启发,包括排序过程和时间复杂度的推导等等,具体可以google一下。下面给出二路归并的实现代码。#includeusing namespace std;void merge(int data[],i.....
分类:
编程语言 时间:
2015-01-12 00:08:16
阅读次数:
260
稳定性:
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,
冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
复杂度
冒泡法: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。不说了。
直接插入排序:O(n*n)
希尔排序:算法的复杂度为n的1.2次幂
选择排序:O(n*n)
快速排序:不稳定,平均时间复杂度O(nlog...
分类:
编程语言 时间:
2015-01-10 01:09:47
阅读次数:
222