1.请谈一谈对分治思想的体会:
自己看书的时候,我对分治法的大致思想是,当存在一个大的问题,很难解决,或者时间复杂度很大时,可以把它分成几个与原题目同类型的小问题进行解决,但是看书里给的例题的时候,我感觉还是很晦涩难懂的,根本体会不了它有多大功能,可以在平时做题里怎么用。而且题目里用到的时候,我又不能完全理解它的思想,导致一直不能够明白为什么这道题是这么做的。后来再看老师的ppt和问同学才搞懂。
将要求解的较大规模的问题分割成k个更小规模的子问题。 对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。 分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
其实在分割成更小一块的子问题上,已经是在递归了。
2.结对编程情况汇报
做的这几次作业来说,对我还是蛮有难度的,特别是在理解题意这一块,怎么根据题意知道应该采用什么办法求解呢,我觉得这点很难,很难知道该采用什么办法求解,像这次刚刚做的那道派题目,对题意的理解对我来说就是第一个问题了,要采用什么老师上课讲的哪种方法来求解呢,这个就是第二大问题了,怎么把该方法与这道题结合起来,就是第三大问题了,不仅如此,有时候题目还限制了这道题的时间复杂度,就像是规定了你应该用什么方法求解,虽然这像是告诉你这道题可以用这个方法求解,但是要是其他方法没问题,就是不会用这方法做题就很尴尬了,可能是对方法的思想还是不够理解吧;还有一点,就是大一的时候在pta上做题,会有测试点提示,但是现在,连提示也没有了,除了超时和段错误,我就觉得这个时候错误很难找出来,只能搜网上看看是怎么做的,然后再改进。