我需要找到一个数据结构,我可以用下面的动作做:查找RBTREE在O(LOGN)的算法
- 生成(S,K) - O(nlogn)
- 搜索(S,K) - O(logn)时间
- 插入(S,K) - O(logn)时间
- 删除(S,K) - O(logn)时间
- 减少-高达(S,K,d ) - O(logn) - 此方法应该将每个节点减去d(d> 0),即< = k
明显的第一选择是RedBlackTree。
但是,我不能找到有关O(Logn)中的减少-Upto的解决方案。 如果k大于树中的最大密钥,会发生什么情况 - 这种情况下,我需要更新整棵树。
有人可以建议吗?也许有些提示?
什么是该方法应该减去,应该从哪里去做? o – 2010-02-10 11:11:18
d是一个数字,k是一个与节点密钥相比较的数字,n是节点数目是树。 – Idan 2010-02-10 11:12:57
这很明显,'d'是一个数字,而不是一匹小马;但*从哪里*应该减去?从小于'k'的所有节点? – 2010-02-10 11:15:34