3
讓A
是已按升序排序的n
整數的數組。
令B
爲m
未整理的整數數組。
我們知道A
中的一組整數與B
中的一組整數不相交。描述一個算法來生成一個數組,其中所有的n + m
整數已按升序排序。你的算法應該終止於O(n + m log m)
時間。合併排序變化n + m,易混淆
我知道這應該是像合併排序,但n+m
在O(n+mlogm)
丟給我。任何人都可以解釋嗎?
讓A
是已按升序排序的n
整數的數組。
令B
爲m
未整理的整數數組。
我們知道A
中的一組整數與B
中的一組整數不相交。描述一個算法來生成一個數組,其中所有的n + m
整數已按升序排序。你的算法應該終止於O(n + m log m)
時間。合併排序變化n + m,易混淆
我知道這應該是像合併排序,但n+m
在O(n+mlogm)
丟給我。任何人都可以解釋嗎?
我想你應該在B排列第一排序:O(mlogm)
之後,你有兩個排序數組,你需要將它們合併,這將需要:O(n+m)
現在整個過程是O(mlogm + (n+m))
等於O(mlogm)
。
如果我們不知道'n'和'm'之間的關係,那麼我認爲總的複雜度實際上應該是'O(mlogm + n)'。 –