2009-10-28 32 views
3

是否有任何合併排序可以在沒有額外內存的情況下完成 我的教授說,它有,他會給予獎勵點。沒有額外內存的合併排序

+0

請用[作業]標記標記家庭作業。並且,請做你自己的作業。如果我給你答案,我沒有得到信用。這很不公平。 – 2009-10-28 10:11:20

+0

爲什麼要在網絡論壇上發佈獎勵積分? – macleojw 2009-10-28 10:17:44

+0

更糟糕的是,如果我們做家庭作業,你會在我們工作的公司採訪一個毫無準備的採訪。我們中的一個將不得不向你展示門。 – sharptooth 2009-10-28 10:18:30

回答

0

鑑於這是一個作業問題,我只能指您計算機編程藝術。一個好的程序員應該能夠使用我們領域的標準參考來研究這樣的問題。

1

是,這個問題的答案是使用in-place merge sort

+1

[就地合併排序](http://www.cprogramming.com/tutorial/computersciencetheory/mergesort.html):_與位數合併排列是一個超出本次討論範圍的複雜問題._ – 2014-07-23 10:42:11

0

使用鏈表。這將避免合併2個列表期間需要的O(n)額外空間。但是,對於遞歸調用佔用空間(即O(lg(n))),您無能爲力。