Data structures 是否有一个数据结构可以在O(logn)时间内插入索引?

Data structures 是否有一个数据结构可以在O(logn)时间内插入索引?,data-structures,tree,insert,time-complexity,Data Structures,Tree,Insert,Time Complexity,我正在寻找具有以下属性的数据结构: 它包含一个数组,由连续的数字范围(例如,从1到k)索引的元素 通过其索引访问元素是尽可能快的,希望是O(1)操作 在给定索引处插入元素是O(logn)操作 我知道heap中的插入操作是O(logn),但我不知道如何在这里使用heap。我认为可以基于树构建所需的数据结构,但我找不到任何东西。您可以使用哈希表,因为您知道rage是1,2。。。。k指数 因此,您需要实现一个哈希函数,为每个元素分配一个唯一的索引。或者,如果您有多个元素,那么您还需要处理哈希冲突,

我正在寻找具有以下属性的数据结构:

  • 它包含一个数组,由连续的数字范围(例如,从1到k)索引的元素

  • 通过其索引访问元素是尽可能快的,希望是O(1)操作

  • 在给定索引处插入元素是O(logn)操作


我知道heap中的插入操作是O(logn),但我不知道如何在这里使用heap。我认为可以基于树构建所需的数据结构,但我找不到任何东西。

您可以使用哈希表,因为您知道rage是1,2。。。。k指数

因此,您需要实现一个哈希函数,为每个元素分配一个唯一的索引。或者,如果您有多个元素,那么您还需要处理哈希冲突,但根据您的问题规范,哈希表的使用要好得多

因此,访问将是O(1)
并且插入O(1)操作

树映射也是可能的,因为您可以在O(log n)处遍历整个树。这还可以包括在索引处插入。