第2章作业

1.对分治法思想的体会

       分治法思想是将一个规模较大的问题分成若干个与原问题相同、互相独立且规模大致相同的问题。运用分治策略可以提高一些算法的效率,如二分搜索算法与普通的搜索算法相比,在时间复杂度上有很大的改进。使用分治法,一个难点就是如何分割子问题,在解决这一问题上,需要用到平衡子问题的思想。但是,采用分治法设计的程序一般是递归算法,也就是说,我们在使用分治策略的同时,必须对递归有一定的掌握,需要注意递归结束条件的设置,以及建立合理的递归方程,从而尽量避免一些潜在的且难以发现的问题。使用递归尤其需要注意的是,当递归层次过深时,可能会造成递归调用工作栈溢出,即递归的使用对于问题的规模有一定的限制。因此,在运用分治策略时需要考虑到这些因素。

2.结对编程情况汇报

       结队编程,可以帮助我们打破自己存在的潜在的思维禁锢,也有助于改进我们的算法,比如潜在错误的发现、可优化的点等。同时,我们也可以积累更多的解决问题的方法,从而设计出更优化的算法。

       本次结对编程过程中,存在的问题有遗漏方法调用的声明、while循环与递归嵌套使用、全局变量与局部变量的选择(使用全局变量简化代码,增强程序的可读性)、if条件语句分情况的讨论存在赘余,以及控制条件语句执行的结束。最后,通过和队友一起debug以及在老师的指导下,解决以上问题的同时也优化了代码。不断地发现问题并解决问题,是提高程序代码质量的途径之一,结队编程则有利于提升我们的编码能力,同时,也锻炼了我们的团队合作能力。

你可能感兴趣的:(第2章作业)