分治法

 

1、我理解的分治法:

遇到大型的、复杂的问题,可以考将它分成规模差不多的、功能相同的子块,直到容易求解为止,之后再用某个相同的方法将他们一一解决,最后将子块的结果合并起来,得到原问题的答案。

2、分治法的基本思想:

分治法是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同。递归地解决这些子问题,然后将各个子问题合并得到原问题的解。特别要注意的是,分治法的第一步便是要用if语句给出递归结束的情况。

3、复杂度计算:

主定理

 

4、实际应用

二分查找,阶乘计算,归并排序,堆排序、快速排序、傅里叶变换都用了分治法的思想。 

 

 结对编程报告

编程中,动手更多的是我的搭档任宜炫同学,我更多的是负责说自己的想法,做一个辅助的角色。在两次上机过程中,我感受到自己的动手能力和思维还是较弱,又或者是想到了方法,再打代码的过程中卡壳多次,这些都是我深深的认识到我还是应该花更多时间在练习代码上,理解透每一个算法的意义。