由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教一下external sorting的问题
相关主题
找2个sorted array中的第K小的元素,有O(lgn)方法吗?哪里有讲k-way merge的?
两个Sorted Array,找K smallest element刷题刷到没自信了
Find the intersection of two sorted arrays【扩展】问个CareerCup上external sort的题
一个cc150里面的题目,不解BB NON CS onsite面经
一个小公司面经amazon tel interview
一个特别的inplace merge two sorted arraysgoogle电面2, 还就一个简单题
re: 面试归来,上面经回馈各位战友问一个amazon的数组排序题
求一下这题解法。Facebook Phone interview
相关话题的讨论汇总
话题: merge话题: array话题: chunk话题: external话题: sorting
进入JobHunting版参与讨论
1 (共1页)
c********p
发帖数: 1969
1
空间不够,文件太大。分成几个chunk排序,然后把chunk两两merge。
可是,每个chunk的大小和memory一样大。那merge的时候,怎么merge啊?因为只能
merge一半,而且,根本读不下2个chunk啊。。。
看到这里,非常confused...
求牛人开导。
h**o
发帖数: 548
2
干嘛不让每个chunk的大小和 1/2 memory一样大

【在 c********p 的大作中提到】
: 空间不够,文件太大。分成几个chunk排序,然后把chunk两两merge。
: 可是,每个chunk的大小和memory一样大。那merge的时候,怎么merge啊?因为只能
: merge一半,而且,根本读不下2个chunk啊。。。
: 看到这里,非常confused...
: 求牛人开导。

h**o
发帖数: 548
3
干嘛不让每个chunk的大小和 1/2 memory一样大

【在 c********p 的大作中提到】
: 空间不够,文件太大。分成几个chunk排序,然后把chunk两两merge。
: 可是,每个chunk的大小和memory一样大。那merge的时候,怎么merge啊?因为只能
: merge一半,而且,根本读不下2个chunk啊。。。
: 看到这里,非常confused...
: 求牛人开导。

c********p
发帖数: 1969
4
可是两两merge了之后还不是一样的问题。。。

【在 h**o 的大作中提到】
: 干嘛不让每个chunk的大小和 1/2 memory一样大
g*********e
发帖数: 14401
5
不要把整个chunk读进来
读一部分 然后merge 空间用光了就把当前结果写到硬盘上 继续读 merge ...
h**o
发帖数: 548
6
http://en.wikipedia.org/wiki/External_sorting
please read from step 4.

【在 c********p 的大作中提到】
: 可是两两merge了之后还不是一样的问题。。。
n*******k
发帖数: 100
7
你是求理论解释,还是相关代码啊?

【在 c********p 的大作中提到】
: 空间不够,文件太大。分成几个chunk排序,然后把chunk两两merge。
: 可是,每个chunk的大小和memory一样大。那merge的时候,怎么merge啊?因为只能
: merge一半,而且,根本读不下2个chunk啊。。。
: 看到这里,非常confused...
: 求牛人开导。

c********p
发帖数: 1969
8
both
您都说说吧,谢谢!

【在 n*******k 的大作中提到】
: 你是求理论解释,还是相关代码啊?
D****6
发帖数: 278
9
merge一部分,放进一个file,merge下一部分,append进同一个file,一直到完,那个
file不就是sorted吗。
c********p
发帖数: 1969
10
比如5个file,一共要两两比较多少次?

【在 D****6 的大作中提到】
: merge一部分,放进一个file,merge下一部分,append进同一个file,一直到完,那个
: file不就是sorted吗。

相关主题
一个特别的inplace merge two sorted arrays哪里有讲k-way merge的?
re: 面试归来,上面经回馈各位战友刷题刷到没自信了
求一下这题解法。问个CareerCup上external sort的题
进入JobHunting版参与讨论
D****6
发帖数: 278
11
四次。你纠结在哪?
c********p
发帖数: 1969
12
怎么会是4次啊?
比如array 1 和array2 比较了之后 array 1里放的都是比array2小的,
然后array 3再和array1比较,array1里边放的是比array3小的,但未必array 3放的是
比array 2小的。。。
这样下去,,要比较多少次?
另外,又想起来一个问题,怎样in place的sort两个sorted array啊,就算是merge
sort也不是in place的。

【在 D****6 的大作中提到】
: 四次。你纠结在哪?
c********p
发帖数: 1969
13
我确实纠结死了。。

【在 D****6 的大作中提到】
: 四次。你纠结在哪?
D****6
发帖数: 278
14
首先每个array都是sorted是吧,arr1和2merge完之前没其他arr的事啊,完后生成新的
sorted arr在和3 merge. 还有为什么“ array 1里放的都是比array2小的”?你来个
简单的实际的例子。
c********p
发帖数: 1969
15
arr1 和 arr2 merge之后生成的是2个array 还是1个array,因为memory不够大不是么
。。。

【在 D****6 的大作中提到】
: 首先每个array都是sorted是吧,arr1和2merge完之前没其他arr的事啊,完后生成新的
: sorted arr在和3 merge. 还有为什么“ array 1里放的都是比array2小的”?你来个
: 简单的实际的例子。

D****6
发帖数: 278
16
一个,但不是array,是write到disk里的一个file. 你是说external merge sort吧?

【在 c********p 的大作中提到】
: arr1 和 arr2 merge之后生成的是2个array 还是1个array,因为memory不够大不是么
: 。。。

i****y
发帖数: 84
17
你用了min heap。。lz意思是不用min heap直接merge sort?

【在 n*******k 的大作中提到】
: 你是求理论解释,还是相关代码啊?
n*******k
发帖数: 100
18
如果一直是两两merge应该不难吧。

【在 i****y 的大作中提到】
: 你用了min heap。。lz意思是不用min heap直接merge sort?
n*******k
发帖数: 100
19
就老老实实的取2个文件f1,f2(比如整数)的头元素放在变量v1,v2里面,较小的值
写入磁盘结果文件,(判断读完与否,feof() )
while(f1未读完且f2也未读完)
如果v1 <= v2, fwrite(&v1,4Byte,1,res_file),从f1读取下一个数;
否则fwrite(&v2,4Byte,1,res_file),从f2读取下一个数。
if (f1读完,f2没被读完)
flush f2剩余元素进入res_file
if (f2读完,f1没被读完)
flush f1剩余元素进入res_file
这样不就行了吗?
fread/fwrite可以利用文件缓冲区。如果自己想偷懒,不想切文件,定义和管理文件缓
冲区,直
接这样用就可以了。出来的文件就是globally sorted。
t***t
发帖数: 6066
20
多路归并排序,不是标准的么?狗狗几乎必考啊。
c********p
发帖数: 1969
21
狗狗每次都考它?那我更要赶紧问问了啊。。。

【在 t***t 的大作中提到】
: 多路归并排序,不是标准的么?狗狗几乎必考啊。
1 (共1页)
进入JobHunting版参与讨论
相关主题
Facebook Phone interview一个小公司面经
算法面试题一个特别的inplace merge two sorted arrays
amazon 二面情况诡异!re: 面试归来,上面经回馈各位战友
再问一个算法题。求一下这题解法。
找2个sorted array中的第K小的元素,有O(lgn)方法吗?哪里有讲k-way merge的?
两个Sorted Array,找K smallest element刷题刷到没自信了
Find the intersection of two sorted arrays【扩展】问个CareerCup上external sort的题
一个cc150里面的题目,不解BB NON CS onsite面经
相关话题的讨论汇总
话题: merge话题: array话题: chunk话题: external话题: sorting