gpt4 book ai didi

java - 具有 O(log(n)) 插入和 O(1) 查找的排序数据结构

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:56 24 4
gpt4 key购买 nike

我正在用 Java 编写代码,我需要一个有序的整数数据结构,它具有最大 O(log(n)) 插入时间和 O(1) 索引查找。是否有可以执行此操作的内置数据结构?如果没有,我该如何自己编写一个?

我知道 Set 可以完成第一个任务,但是要查找元素 i,我需要遍历 i 之前的所有元素。

最佳答案

可能的解决方案是跟踪维基百科称为“订单统计树”的子元素数量的树。然而,查找性能将与树的高度相关,即 O(log n)。

快速展开的树,如 B 树,可以显着减少索引查找,尽管它始终保持 O(log n)。

不幸的是,Java 的集合框架中没有这样的树。然而,几天的工作和测试应该会产生一个合理的实现:)

关于java - 具有 O(log(n)) 插入和 O(1) 查找的排序数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43299086/

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