我想创建一个算法,使用分而治之的方法但使用迭代算法(即没有递归)。迭代划分和征服算法
我很困惑如何处理循环。
我需要把我的问题分解成更小的子问题,直到我遇到基本情况。我认为这仍然是正确的,但是我不确定我怎么能(没有递归)使用较小的子问题来解决更大的问题。例如,我试图想出一个算法,它可以找到最接近的一对点(在一维空间中 - 尽管我打算将它自己推广到更高维度)。如果我有一个函数nearest_pair(L),其中L是整数坐标列表,,我怎么能想出一个可以解决这个问题的分而治之的ITERATIVE算法?
(不失一般性,我使用Python的损失)
是否有一个特定的原因,你为什么不会(不能?)使用递归? – Gormador
我不得不为类中给定的赋值设计一个迭代算法。我确实知道递归解决方案(使用D&C),我相信我可以将它翻译为迭代代码,并利用D&C方法处于O(nlogn)时间而不是O(n^2)的事实。 – TimelordViktorious
这就是我所害怕的。特别是在班级任务的情况下,即使我明白你的问题,但在显示你已经尝试过的代码之前,你也不会得到帮助。问题更多的是关于一般编程而不是语言。唉,你将不得不在一些代码,这将影响具体的答案... 虽然它似乎有人回复!你似乎很幸运! – Gormador