第二章作业
一、对分治法思想的体会
首先,分治法是就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。更准确地说是,将规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同。递归地解决子问题,然后将解合并得到原问题的解。其次,分治法一般能解决具有以下四个特征的问题:1) 该问题的规模缩小到一定的程度就可以容易地解决;2) 该问题可以分解为若干个规模较小的与原问题相同的问题;3) 利用该问题分解出的子问题的解可以合并为该问题的解;4) 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。第二条特征同时也反映了递归思想的应用。分治法的效率与子问题相互独立有关,若子问题之间不独立则需要重复求解公共的子问题,这时可用动态规划法。
二、结对编程情况
在上机结对时遇到些卡壳情况时,飞扬会带着我梳理一遍代码是如何运行的,对代码的理解会深刻些。出现错误时可以很快发现并改正,提高编程效率。在交流过程中我发现自己的表达能力也需要加强。
浙公网安备 33010602011771号