http://i.imgur.com/tcqVY7L.jpg
請問為什麼平衡的平均搜尋時間會是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