递归的概念
通俗来讲,递归是一种函数调用自身函数的一种现象。
递归指的是一个过程:函数不断引用自身,直到引用的对象已知。
递归的优缺点
优点:思路清晰,代码简单;将复杂的大问题分解为小问题解决
缺点:占空间,函数是基于栈内存运行的。
递归的要素
前进段
边界条件
返回段
分治算法与前进段
分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。
分治算法的举例
有序数组查找元素——二分查找
分治算法与递归
分治算法是用迭代的方法将每一次的过程不断重复,每次迭代的结果会作为下次迭代的初始值。