根据在排序过程中涉及的存储器不同,可将排序方法分为两大类:内部排序和外部排序。 内部排序是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列。 外部排序指的是大文件的排序,待排序的文件无法一次装入内存,将待排序的记录存储再外存储器上,需要在内存和外部存储器之间进行多次数据交换,已达到排 ...
分类:
编程语言 时间:
2017-03-31 13:18:35
阅读次数:
192
这篇博客对几种常见的排序算法进行归纳总结,在接下来的博客中会依次给出每个排序算法的例子 【由于博客上面进行编辑不太方便,图表都是在电脑上编辑好,上传的图片】 1.排序的分类 2.几种内部排序方法的比较 3.几点结论 3.1当待排序的记录个数较小时,n²和nlogn差别不大,可选用简单的排序方法,而当 ...
分类:
编程语言 时间:
2017-03-10 22:04:54
阅读次数:
268
1.快速排序 -- Quick Sort。 2.时间复杂度:T(n) = k* n *ln(n) (k常数因子) 3.适用条件:目前认为最好的内部排序方法。 输出: ...
分类:
编程语言 时间:
2017-03-08 01:08:38
阅读次数:
155
Oracle 中的 ROW_NUMBER() OVER() 分析函数的用法 ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内是连续且唯一的)。 ...
分类:
数据库 时间:
2017-03-08 00:45:48
阅读次数:
236
1、需求分析(1)输入数据的形式为:伪随机数产生程序产生,且每次输入数不少于100个,至少要用5组不同的输入数据(2)输出的形式为:输出关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)的数据(3)程序能达到的功能:对起泡排序,直接插入排序,简单选择排序..
分类:
编程语言 时间:
2017-01-07 21:28:52
阅读次数:
499
快速排序基本思想是,一趟排序,选择一个元素作为枢轴,然后将所有比枢轴小的元素放到枢轴的左边,将比枢轴大的元素放到枢轴的右边,这样的一趟排序也称为一次划分。然后对该枢轴划分的左右子序列分别再进行划分,如此递归。就平均时间而言,快速排序是目前被认为是最好的一种内部排序方法,其平均时间是O(nlogn), ...
分类:
编程语言 时间:
2016-12-09 07:57:01
阅读次数:
169
Java集合类解析 List、Map、Set三个接口,存取元素时,各有什么特点? List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。 Hashtable和HashMap的区别: 1.Hashtable是Diction ...
分类:
编程语言 时间:
2016-12-05 19:34:48
阅读次数:
255
查询各科成绩前三名的记录:(不考虑成绩并列情况),显示(学号、课程号、分数) row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的) ...
分类:
其他好文 时间:
2016-11-29 09:46:11
阅读次数:
427
先放一段python 跑跑 本段只说递归方式的: L = [5, 2, 0, 7, 3, 8, 9, 4, 2, 1] def quick_sort(L, low, hight): i = low j = hight if i >= j: return L key = L[low] while i< ...
分类:
编程语言 时间:
2016-11-10 01:53:11
阅读次数:
172
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比 ...
分类:
编程语言 时间:
2016-11-03 13:58:48
阅读次数:
268