分治的手段 - 递归
作者:互联网
分治的手段 - 递归
要素
- 参数与基于参数的函数 (方法) 边界
形式
- 单递归
fun(n)
if n = 0:
return
fun(n-1)
形式如上
时间复杂度, O (n), 容易想到, 时间复杂良好.
- 多递归
fun(n)
if n = 0:
return
fun(n-1)
fun(n-2)
fun(n-3)
...
形式如上
时间复杂度, O (nn), 容易想到, 时间复杂坏.
剪枝优化
fun(arr,l,r,q)
if l<r:
return
m=l+r/2
if(q=m): // 剪枝
return
else if(q<m): // 剪枝
fun(arr,l,m-1,q)
else: // 剪枝
fun(arr,m+1,r,q)
时间复杂度, O (nn), 不易想到, 时间复杂最好, 但是对数据有一定的条件.
以上就是我分治重要手段递归的一些认识, 如有不周, 请指正.
标签:nn,递归,复杂度,分治,时间,手段,fun 来源: https://www.cnblogs.com/son9wx/p/10534837.html