分治法思想:
分治分治,即分而治之。分治,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。如图所示:
优缺点分析:
优点:用分治算法主定理可得时间复杂度为O(nlogn),相同元素的顺序不会颠倒,是稳定排序。
缺点:需要辅助数组,所需空间复杂度为O(n)。
分治法体会:
个人感觉类似于数学归纳法,找到解决本问题的求解方程公式,然后根据方程公式设计递归程序,在不限制空间大小的情况下挺好的。
结对编程的体会:
能认识各自的编程风格,彼此学习