recursion - 如何求解递归关系 T(n)=T(n^1/2)+n
问题描述
T(n)=T(n^1/4)+n^1/2+n T(n^1/8)+n^1/4+n^1/2+n 。.
T(n^1/2^k)+n^1/k-1+n^1/k-2......+n
I got k= loglog(n) but i am not able to solve the series by putting this k value into above series.
解决方案
首先代入 n = 2^m 给我们
T(2^m) = T(2^(m-1)) + 2^m
现在让 S(m) = T(2^m)。这大大简化了递归关系
S(m) = S(m/2) + 2^m
根据主定理,
S(m) = O(2^m)
最后,
T(n) = T(2^m) = S(m) = O(2^m) = O(2^(log_2 n)) = O(n)。
推荐阅读
- javascript - JavaScript DOM 音频未播放
- c# - 如何确保在 CefSharp 中执行 ExecuteScriptAsync
- vue.js - 商店用品 6 | 自定义字段为空
- java - Java 解密创建附加符号
- php - PHP函数从段落中删除第一句话
- javascript - Vue 和 Firebase RTDB 连接
- java - 在Android中有效地将图像上传到服务器
- google-chrome-devtools - Chrome DevTools:关闭 Lighthouse-Report
- python - Keras 生成器到 tf.data.Dataset
- c# - 当我为该条目设置变量并更改变量时,为什么列表中的条目会更改?