Algorithm 如何从T(n)=2T(n/2)和x2B获得O(nlogn);O(n)
嗨,我正在研究这个算法,我得到了一个关于get O(nlogn)的问题,没有使用主定理 我很难得到O(nlogn) 有人知道从T(n)=2T(n/2)+O(n)得到O(nlogn)的数学方法吗 谢谢绘制递归树: 树的高度将为对数n 每一级的成本都是常数乘以n 因此,总成本为O(nlogn) 如果你愿意,你可以用归纳法来证明它。注意模式(简化一点,最好是保持Algorithm 如何从T(n)=2T(n/2)和x2B获得O(nlogn);O(n),algorithm,big-o,Algorithm,Big O,嗨,我正在研究这个算法,我得到了一个关于get O(nlogn)的问题,没有使用主定理 我很难得到O(nlogn) 有人知道从T(n)=2T(n/2)+O(n)得到O(nlogn)的数学方法吗 谢谢绘制递归树: 树的高度将为对数n 每一级的成本都是常数乘以n 因此,总成本为O(nlogn) 如果你愿意,你可以用归纳法来证明它。注意模式(简化一点,最好是保持O(n)而不是n): 对于仍在研究如何绘制递归树的人: 图:T(n)=2T(n/2)+O(n)算法的递归树 画一棵树如下,我们可以看到,每次我
O(n)
而不是n
):
对于仍在研究如何绘制递归树的人: 图:T(n)=2T(n/2)+O(n)算法的递归树 画一棵树如下,我们可以看到,每次我们除以2,直到我们的叶子等于1
n/2^k = 1
2^k = n
k= log(n)
上述语句证明我们的树的深度为log(n)
在每一级,我们都要进行一项成本为O(n)的操作
即使我们每次除以2,我们仍然在两个部分上进行运算,因此在每个级别上都有n迭代
由于我们执行它的次数等于我们的深度,因此产生的复杂性是O(nlog(n))
另外,请查看此视频教程狂想:n上的归纳法?然而,我不明白这与“算法”有什么关系(不管是什么)。(感谢用户2076566,他做了一个技术上正确的编辑,澄清了我在掩饰什么,但被三个高评级用户拒绝了。)
n/2^k = 1
2^k = n
k= log(n)