设想你有一个20GB的文件,每行一个字符串,说明如何对这个文件进行排序。 内存肯定没有20GB大,所以不可能采用传统排序法。但是可以将文件分成许多块,每块xMB,针对每个快各自进行排序,存回文件系统。 然后将这些块逐一合并,最终得到全部排好序的文件。 外排序的一个例子是外归并排序(External ...
分类:
编程语言 时间:
2018-04-09 19:06:36
阅读次数:
287
1)排序的基本概念: 将一堆数据转换为我们需要的数据顺序 2)排序的稳定性: 3)多关键字排序: 4)排序中的关键操作: 5)内排序和外排序: 6)排序的审判: 7)总结: ...
分类:
编程语言 时间:
2018-03-13 15:35:14
阅读次数:
158
0、排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数 ...
分类:
编程语言 时间:
2018-03-11 00:23:00
阅读次数:
186
排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于要找工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程 ...
分类:
编程语言 时间:
2018-03-08 20:20:39
阅读次数:
170
http://www.jiuzhang.com/tutorial/big-data-interview-questions/163 1.最高频 K 项问题 2.布隆过滤器 3.外排序算法 4.概率类大数据问题 ...
分类:
编程语言 时间:
2018-02-19 23:47:43
阅读次数:
353
各类排序算法的时间复杂度 排序算法概述: 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选 ...
分类:
编程语言 时间:
2017-11-28 11:43:16
阅读次数:
161
一、如何评价算法优劣 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; 时间复杂度: 一个算 ...
分类:
编程语言 时间:
2017-11-27 23:43:13
阅读次数:
214
1.使得序列成为一个按关键字有序的序列,这样的操作称为排序。 2.排序的稳定性:稳定和非稳定的 3.内排序与外排序: 内排序:是在排序整个过程中,待排序的所有记录全部被放置在内存中。 外排序:由于排序的记录个数太多,不能同时放置在内存,整个排序过程需要在内外存之间多次交换数据才能进行。 内排序:性能 ...
分类:
编程语言 时间:
2017-10-24 19:36:51
阅读次数:
177
题目 假设某个表有一个联合索引(c1,c2,c3,c4)一下——只能使用该联合索引的c1,c2,c3部分 A where c1=x and c2=x and c4>x and c3=x B where c1=x and c2=x and c4=x order by c3 C where c1=x a ...
分类:
数据库 时间:
2017-09-01 10:51:54
阅读次数:
268
题目原文: Suppose that the subarray a[0] to a[n-1] is sorted and the subarray a[n] to a[2*n-1] is sorted. How can you merge the two subarrays so that a[0] ...
分类:
编程语言 时间:
2017-07-22 00:44:32
阅读次数:
284