recursion - 获得递归方程的封闭形式并比较哪个更快
问题描述
如果可能的话,得到这些方程的封闭形式。然后,确定哪个比另一个更快。
f(n) = 0.25f(n/3)+ f(n/10) + logn, f(1) = 1
g(n) = n + log(n-1)^2 + 1
在这些方程式中,我是否必须扩展这些递归并尝试发现其中的模式?我真的不知道如何直观地计算封闭形式
解决方案
简短回答:g(n)>f(n)
详细回答: g 甚至不是递归的,因此您可以立即看到 g(n)=O(n)。f(n) <f(n/2)+logn
根据主定理,您可以近似为 Θ(logn)
推荐阅读
- c# - 抬头时如何阻止我的播放器向上移动
- kubernetes - Kubernetes 上的 Greenplum
- python - 删除从类中添加的精灵
- c - 调用 malloc 函数并不总是在内部调用 sbrk 函数?
- .net-core - MS Graph .netcore 客户端 SDK 在令牌无效时抛出 NullReferenceException
- javascript - 尝试从 API 响应中提取 URL 主机名
- javascript - 如何用下一个 js 配置 redux?
- python-3.x - 在python中使用reduce的oneliner
- parallel-processing - Python中子数组的快速求和
- python - 使用 matplotlib 绘图时基于数据框列中的字符串创建颜色图