标签: recursion computer-science tree
我正在学习递归树,并试图弄清楚树的高度是n的log b,其中n = 2,一个有10个元素作为输入大小。我正在使用Merge sort。
根据我的理解,完成拆分的次数是树的高度,树中的级别数是高度+ 1.
但是如果你采用(合并排序)log2为10,那么得到1,如果你绘制树,你得到的递数至少是递归的两倍。
我哪里出错了? (我希望我在这里有意义)
注意:我正在做自学,这不是作业!
答案 0 :(得分:3)
log 2 (10)= 3.321928094887362 ...
在任何情况下,递归调用深度都是O(log(n)),这基本上意味着“按log(n)的顺序”。 O(log(n))算法的实际调用深度可能是k*log(n)+c,甚至可能是k*log(n)+α(n)/log(log(n))+c。
k*log(n)+c
k*log(n)+α(n)/log(log(n))+c