摘要: 以下是转载的:个人感觉第四种方法很巧妙,O(N)复杂度最好也最快!第二种方法不太理解~腾讯一面问到了,用的算法导论中的Kth算法,期望时间复杂度为O(n)。后来想了想,万一数据多的来根本不能一次读入内存,这个时候该如何解决呢?题目如下:只有2G内存的pc机,在一个存有10G个整数的文件,从中找到中位数,写一个算法。给出了四种方法来解决算法:1.利用外排序的方法,进行排序 ,然后再去找中位数注释:外部排序基本上由两个相对独立的阶段组成。首先,按可用内存大小,将外存上含n个记录的文件分成若干长度为h的子文件,依次读入内存并利用有效的内部排序方法对它们进行排序,并将排序后得到的有序子文件重新写入外存 阅读全文
posted @ 2013-07-20 01:24 _sunshine 阅读(7089) 评论(0) 推荐(0) 编辑