算法第二章作业

分治法:就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。

分治法一个主要思想是递归,递归的时间复杂度低。算法的复杂度低,提高了算法的质量。

分治法在每一层递归上都有三个步骤:

分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;

解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;

合并:将各个子问题的解合并为原问题的解。

所以其函数名通常为:Divide-and-Conquer

这两次的上机课影响最深的就是那个快排,直接先写什么情况停止递归返回,然后递归右边,递归左边。就这么简单。但是这这一个思路却深深地印在我的脑海中。

 第一次是我写代码,陈嘉健解释。第二次陈嘉健写代码我解释。

posted @ 2020-10-03 21:31  lei190  阅读(91)  评论(0)    收藏  举报