![]()
请问为什么平衡的平均搜寻时间会是O(log n)
XD 可是 这题的大大单纯问的是平衡的搜寻时间QQ发现我一直看成下面画线的BST讨论一下 因为以link list 来说 binary tree 若 worst case 为O(N) 我比较能接受 average 我想应该不会到O(N)吧@@哦 好像是big oh(N)没错 T(n)<=N
作者: aa06697 (todo se andarà) 2016-10-13 10:06:00
我也觉得是O(n)耶.... BT不像BST 他没有规则的 要全部点都跑过吧?若照楼上讲法这样sequential array平均不就也是log n 惹bt用array存 基本上就跟seq areay 没两样 用linked list存...怎么看都不是log n @@
我的想法是,题目有说是平均时间下的time complexity,所以搜寻时间应该是跟tree高有关系,左斜或右斜才会是O(n)
平衡后的高度为log nT(n) <= c*log n 所以 T(n) = big oh(long)
可是搜寻不是要搜寻n个点 一样一个一个搜寻 怎么会从高度去看
作者:
boy00114 (ponny)
2016-10-13 01:20:00二元搜寻树不是跑全部的点吧...比parent大往右;比parent小往左,这样平衡后最差的情况就是logn(树高)
作者:
w181496 (Kaibro)
2016-10-13 02:02:00可是这题是binary tree 不是BST欸 XD