2015-10-18 74 views
0

優先級驗證程序支持操作,插入,刪除和非全部更大(z)。後者操作輸出「是」,只要該集合中當前有key≤z的元素,否則爲「否」。 z由用戶提供。是否可以實施優先權驗證人,以便在該組中有n個要素時,其運作具有攤銷成本o(log n)?O(log(n))中的優先級驗證器實現

+0

我認爲這是更適合http://cs.stackexchange.com/的東西,因爲這不是一個真正的代碼問題。 – Almo

+0

@Almo我認爲對於簡單的問題它並不重要。 – Pavel

+0

@ paulpaul1076好的。這對我來說不是一個簡單的問題,但我不是計算機科學家。 :D – Almo

回答

0

是的,在平衡樹木的情況下,您有順序,所以您可以通過沿着樹中的左側路徑找到小於或等於z的元素,然後到更小和更小的元素,注意高度樹是對數的,所以它將花費O(logn)。所有其他操作也需要O(logn)

+0

但插入到這棵樹將是nlogn – CMPS

+0

CMPS,插入一個元素是logn,集合中已經有n個元素了 – Pavel

+0

是插入一個元素是logn但是你有n個元素,因此nlogn – CMPS

0

不知道這個問題是否可以通過使用跳過列表來解決。由於插入/刪除都是log(n),並且它可以始終保持集合中最大的人物。