对分治法思想的体会与结对编程情况汇报(第二章总结)

  一、分治法思想学习体会

  1.分治法,按照老师说的理解就是将一个大问题分解成若干个子问题,然后将分出来的这些个子问题逐个击破,最后将已经解决的子问题合成母问题的解。按照我的理解就是如同周王朝的分封制,最后解决了整个王朝的统治问题。一个大问题,如二分搜索技术,不可能直接一个对一个的进行搜索,需要将次此问题分解成一个个小问题然后进行递归调用,这样一来效率就高了很多。

  2.时间复杂度变低了,从而效率就变高了,分治法是核心是递归细化问题,复杂的降低。

  二、结对编程情况

  此处上机课还是略有坎坷!初次看见第一题很是亲切,想调用递归来完成此次二分搜索。一开始很快就完成了代码的敲写,本以为遥遥领先的我们突然倒在了统计  次数上面,这使得我们两非常的难受,一直都卡着(非常想用此方法解决,但是时间就是这样浪费了)。后来看到许多人使用while迭代完成了第一题。还好我们在剩下的时间里赶紧敲完了第二题,这一题我们还是用二分递归解决了,非常非常的开心(但是第三题没有做)。这次两题都涉及了二分搜索算法,使我加深了对该算法的熟悉度,并且无论是第一题还是第二题,都涉及所要找的数是否在数组内的问题,这就是锻炼写程序的健壮性,能够让我多去思考这些边界问题,包括第二题中所找数不在数组内也还可以分三种情况,就对一个问题的再细分化,能够更加看懂一个问题,使其更加完善。另外,两人上机课现场做题,那种一起思考问题,两人一起探讨,多些想法,更能完善一个算法或者程序,因为人多力量大,每人的思维可能会有差异,两个思维一起的时候能想到的方面就多了。一个人边敲代码,另外一个人边帮忙改错也是一件很高效的事情。同时也是一个相互学习的过程。