牛客网随笔记录

二分法查找最大查找次数log2n向下取整+1

假设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n表示,则该算法的时间复杂度为

T(2n) = 2t(n) + 2n
t(2n)/2n = t(n)/n + 1
令c(n) = t(n)/n 
则 c(2n) = c(n) + 1
c(2n) - c(n) = 1
即 c(2^k) - c(2^(k-1)) = 1
累加求和 得
c(2^k) = c(1) + k 
即 t(2^k)/(2^k) = c(1) + k
即 t(2^k) = (c(1) + k) * (2^k)
即t(n) = (c(1) + log2(n)) * n
即 log2(n)*n
 
平衡二叉树的时间复杂度是log(n),如果二叉树的元素个数为n,那么不管是对树进行插入节点、查找、删除节点都是log(n)次循环调用就可以了。它的时间复杂度相对于其他数据结构如数组等是最优的。
posted @ 2016-12-05 15:58  早安宇宙  阅读(89)  评论(0编辑  收藏  举报