摘要:前几天,看到一篇前辈的博文“程序猿必知的8大排序”,不禁的手痒起来,又一次翻开严蔚敏老师的《数据结构》复习了一遍,然后一一的用java去实现,当中有不足之处,还望各位道友指正出来。先来看看8种排序之间的关系:第一:直接插入排序1.基本思想:在要排序的一组数中,如果前面(n-1) [n>=2] ...
分类:
编程语言 时间:
2015-01-18 22:23:33
阅读次数:
346
1.
ROW_NUMBER() OVER函数的基本用法
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
例如:row_number() OVER (PARTITION BY
COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(...
分类:
数据库 时间:
2015-01-16 19:13:39
阅读次数:
283
基数排序是一种借助“多关键字排序”的思想来实现“单关键字排序”的内部排序算法。实现多关键字排序通常有两种作法: 最低位优先法(LSD) 先对K[0]{基数的最低位}进行排序,并按 K(0) 的不同值将记录序列分成若干子序列之后,分别对 K[1] 进行排序,..., K[d-1]依次类推,直至最后对最次位关键字排序完成为止。 最高位优先法(MSD) 先对 K[d-1]{基数的最高位...
分类:
编程语言 时间:
2015-01-11 10:59:26
阅读次数:
305
之前学习过内部排序的八大算法,也一一写过代码实现。其中堆排序的原理是将一颗二叉树初始化为堆依次将最后一个结点与堆顶结点交换。然后调整堆顶元素位置,重置堆。将二叉树初始化为堆可以看做从最后一个非叶子结点开始,依次调整子堆的堆顶元素,重置堆是指重置堆顶元素。这种算法的实现如下:= 0; $end--) ...
分类:
编程语言 时间:
2015-01-08 19:36:04
阅读次数:
286
排序使我们实际开发中最常使用到的几个算法之一,按照如果按照排序过程中依据的原则对内部排序进行分类,则大致上可以分为插入排序、交换排序、选择排序、归并排序等排序方法。让我们首先看看插入排序的算法有哪些,以及他们的具体实现。插入排序的基本排序思想是:逐个考察每个待排序元素,将每一个新元素插入到前面已.....
分类:
编程语言 时间:
2014-12-23 11:51:49
阅读次数:
251
row_number()over( partition by a order by b desc ) rn根据【字段a】分组,分组内根据【字段b】排序,次函数返回的是每组内部排序后的序列号(分组内唯一不重复排序)例子:一张表,求按date,pay排序后的数据,且每天数据只有3条select date...
分类:
其他好文 时间:
2014-12-22 15:57:51
阅读次数:
151
这里实现了两种排序:链表内部排序和链表外部排序:
链表外部排序不会真实改变数据顺序:
//在链表外部进行排序,不会直接影响到链表内的数据排序;实现方法是 申请一段对空间数组,用来存放指针,这些指针,指向
//链表内的数据,排序的时候根据链表内数据的大小只要交换指针的位置就可以;比如链表内数据为 55 22 33 11 44;那么申请
//一段堆空间数组 p[] 数组里面存放指针 p[...
分类:
编程语言 时间:
2014-12-10 16:32:44
阅读次数:
262
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比...
分类:
编程语言 时间:
2014-11-30 00:19:29
阅读次数:
228
各种排序方法的性能比较
排序方法
最好时间复杂度
平均时间复杂度
最坏时间复杂度
空间复杂度
稳定性
直接插入排序
O(n)
O(n2)
O(n2)
O(1)
稳定
简单选择排序
O(n2)
O(n2)
O(n2)
O(1)
不稳定
冒泡排序
O(n)
O(n2)
O(n2)
O(1)
稳定
希尔排序
-
...
分类:
编程语言 时间:
2014-11-29 20:15:57
阅读次数:
218
http://blog.csdn.net/hguisu/article/details/7776068 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时....
分类:
编程语言 时间:
2014-11-25 18:12:37
阅读次数:
153