算法第二章作业-分治思想 + 结对编程

一.对分治法思想的体会

     分治法的思想是将一个难以直接解决的大问题分割成一些规模较小的相同子问题,解决子问题,然后将各个子问题的解合并得到原问题的解,即分而治之,一般与递归算法结合使用。二分搜索就是一个运用分治思想的典型例子,先将n个元素分成个数大致相等的两半,将要搜索的数x与中位数进行比较,相等则得出结果,若x比较小,则在这些元素的左半部分继续搜索x,反之则在右半部分搜索。

     对该思想的体会是它对于一些问题的处理可以很高效,一个看似很复杂的问题可以通过不断地将其分割来解决。但前提是要懂得在什么时候去运用这种思想。我觉得当问题符合以下特征时可以运用该思想:

1.该问题可以通过将其分割成规模较小的子问题来解决

2.子问题与原问题的解法应该相同

3.子问题之间是相互独立的

 

二.结对编程

    我觉得结对编程对双方都挺好的, 可以与队友交流想法,互相学习,有时候还能学到一道题的另外一种解决方法或者解题思路。不过在结对编程中难免会有想法不一致的时候,应该多交流促进理解,交流的过程,表达自己想法的过程也是在加深自己对题目的理解。而且有时候自己无法发现的小问题小错误或许队友可以很快地就发现,能提高效率。

你可能感兴趣的:(算法第二章作业-分治思想 + 结对编程)