1
我們對兩個數組或鏈接列表進行合併排序如何爲兩個以上鍊接列表編寫合併部分? 請幫助我謝謝合併排序中的合併部分
我們對兩個數組或鏈接列表進行合併排序如何爲兩個以上鍊接列表編寫合併部分? 請幫助我謝謝合併排序中的合併部分
要麼一次合併兩個結果,要麼將結果與第三個合併,要麼改變合併邏輯以從所有三個列表中取最小元素。
遞歸地將數組集合分成需要合併的兩組數組。當該集合只包含一個數組時返回它。使用標準合併排序合併來自每次調用的結果列表。
array merge(list_of_arrays)
{
if (sizeof(list_of_arrays) == 1)
return list
else
return mergesort(merge(first_half(list_of_arrays)), merge(second_half(list_of_arrays)))
}
臨時內存會發生什麼情況? – user355002 2010-06-26 15:20:52
@matin - 不確定你的意思。唯一可觀的額外內存是標準mergesort,否則你只是分解你正在合併的數組。 – tvanfosson 2010-06-26 19:51:05