我想創建一個算法,使用分而治之的方法但使用迭代算法(即沒有遞歸)。迭代劃分和征服算法
我很困惑如何處理循環。
我需要把我的問題分解成更小的子問題,直到我遇到基本情況。我認爲這仍然是正確的,但是我不確定我怎麼能(沒有遞歸)使用較小的子問題來解決更大的問題。例如,我試圖想出一個算法,它可以找到最接近的一對點(在一維空間中 - 儘管我打算將它自己推廣到更高維度)。如果我有一個函數nearest_pair(L),其中L是整數座標列表,,我怎麼能想出一個可以解決這個問題的分而治之的ITERATIVE算法?
(不失一般性,我使用Python的損失)
是否有一個特定的原因,你爲什麼不會(不能?)使用遞歸? – Gormador
我不得不爲類中給定的賦值設計一個迭代算法。我確實知道遞歸解決方案(使用D&C),我相信我可以將它翻譯爲迭代代碼,並利用D&C方法處於O(nlogn)時間而不是O(n^2)的事實。 – TimelordViktorious
這就是我所害怕的。特別是在班級任務的情況下,即使我明白你的問題,但在顯示你已經嘗試過的代碼之前,你也不會得到幫助。問題更多的是關於一般編程而不是語言。唉,你將不得不在一些代碼,這將影響具體的答案... 雖然它似乎有人回覆!你似乎很幸運! – Gormador