2011-12-10 18 views

回答

6
  • x是起始節點和z是後k連續調用樹繼任結束節點。
  • pxz(含)之間的簡單路徑。
  • y成爲xz的共同祖先即p訪問。
  • p的長度至多爲2h,這是O(h)
  • output是元素的值是x.keyz.key(含)之間。
  • output的大小是O(k)
  • k連續調用樹的繼任者, 是在p節點的執行被訪問, 再說節點xyz, 如果p節點的子樹被訪問,那麼所有其元素在output
  • 所以運行時間是O(h+k)
+2

'在執行k個連續調用TREE-SUCCESSOR的過程中,p中的節點被訪問,並且除了節點x,y和z'你能解釋什麼是'y'嗎? –

+0

我在答案中加了'y'。 –

3

提示:制定一個小例子,觀察結果,嘗試推斷原因。

要開始,這裏有一些事情要考慮。

從某個節點開始,k成功接收Tree-Succcesor構造的一棵樹。此步行訪問有多少(至少和最多)節點? (提示:考慮關鍵(x))。請記住,最多訪問兩次邊緣(爲什麼?)。

最後提示:結果爲O(2h+k)

+1

節點最多訪問3次。 –