分治和结队编程

分治法的思想

分治法就是把一个大问题分解为规模较小的相同小问题,这些小问题的解合并起来就是大问题的解,但是小问题的规模要是一样且相同的,

不能分解出来的一个小问题是求最大值,而 另一个小问题是求最小值,这种情况是不适合用分治的

如果要处理一个较大规模的问题,比如说大整数的加减乘除,是可以分解成最末位的一个数和最末位的数的运算,与小学数学中的手算的思想的一致的

分治法和递归是紧密联系的。

分治法可以运用于:

 

二分搜索,

归并排序

快排

还有汉诺塔问题

大整数乘法 【https://www.cnblogs.com/little-kwy/archive/2017/09/30/7613642.html】(这个博客讲的很清楚:-)

结队编程

结队编程很容易发现对方写的bug,比较容易debug,队友可以给代码出自己想不到的样例,找bug就很容易

而且队友的想问题角度和自己的角度会有不一样,队友想出来的算法可能更优于自己,可能队友也能反驳自己想的一个很挫的算法,或者在和队友探讨的时候就能想出一个更优美的算法,这对自身的思维能力是有帮助的

结队编程总比自己一个人编程有意思多了XD

 

猜你喜欢

转载自www.cnblogs.com/wmlcn/p/11657571.html