4.4.6
4.5.6
这个地方关于R能省1/6的磁盘IO想了好久。原因是S的一个桶(设为si)保存在内存中,所以从磁盘读取R的元组散列时如果散列入了si桶所对应的桶(设为ri),就不需要将其写回到磁盘,而是可以直接将这个元组与内存中si桶中的所有元素进行计算,将结果输出,这样ri桶中所有的元素都不用送回内存,节省了IO
只能说妙
4.5.7
这里关于大小需求,由于排序后相等的元组可能存在于任何一个序列中,所以对于S和R需要把每个序列的第一块都放入内存,所以是S+R。而对散列后相等的元素只能存在于一个桶中,所以把S每个桶的第一块放入内存后可以顺序处理R的每个桶,对于处理的桶将第一块放入内存,所以是S+1近似为S