gpt4 book ai didi

data-structures - 具有 O(logn) 访问和 O(logn) 插入的数据结构的实现?

转载 作者:行者123 更新时间:2023-12-02 00:11:55 25 4
gpt4 key购买 nike

有谁知道我可以在最坏情况下 O(logn) 访问和删除第 k 项的数据结构,并且还支持在最坏情况下 O(logn) 下在第 k 项之后插入一项的操作?

最佳答案

是的。您所描述的可以通过增强树来实现。每个节点都有一个计数器,指示其子树(包括其自身)中的节点数。对于叶节点,计数器为 1。对于根节点,计数器为节点总数。这样,您可以通过从根开始的二分查找找到第 k 个项目。无论何时插入/删除元素,都必须更新从该位置到根的路径中的计数器。

这种树被称为order statistic trees , 排名树, 计数器树...

你可以找到一个实现 here还有一个here .

请参阅 Cormen、Leiserson、Rivest 和 Stein 合着的伟大著作“算法导论”中的第 14 章“扩充数据结构”。

关于data-structures - 具有 O(logn) 访问和 O(logn) 插入的数据结构的实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14719099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com