算法第二章作业(分治法)

分治法

我觉得分治法就类似于数学的归纳法,找到解决本问题的求解方程公式,然后根据方程公式设计递归程序,在不限制空间大小的情况下挺好的。分治法是一种说起来简单做起来难的算法。说起来简单是因为算法的设计思路是完全符合人的思维过程的:分而治之嘛把大问题分开成小问题,然后解决每个小问题,最后把解合并起来得到原问题的解。并且每个子问题是相互独立的,即子问题之间没有公共的子问题。做起来难是因为在算法设计过程中“分”和“合”不像通常我们想的那么简单,并不是所有问题用一句n/2就可以将问题分开。就算是分开了,最后不能合并也是徒劳。

另外,分出来的子问题一般都是与原问题性质相同的小规模问题,这就使得递归算法派上了用场。递归和分治是联系很紧密的一对好兄弟,在程序设计过程中它们经常一起出现。

结对编程情况

  我们基本是一起打代码,过程中有什么困难的就互相帮助,打完了就比较各自的算法设计,分析优缺点,然后选出最优代码提交。

猜你喜欢

转载自www.cnblogs.com/twojiayi/p/11681009.html