data-structures - 此排序数组数据结构的集合有名称吗?

标签 data-structures computer-science

以下数据结构有名称吗?有论文和引文吗?

to implement是有效的集合抽象数据类型的一种方法是拥有一组排序数组,其中每个数组具有唯一的2的幂。

例如,一组13个元素{1、2,...,13}可以由以下排序数组集合表示:{[5],[2、3、9、13],[1、4、6 ,7、8、10、11、12]}。

通常,集合中的数组具有与集合大小的二进制表示形式中的1位相对应的大小。数据结构之所以有效,是因为可以在O(1)摊销时间内执行插入操作,并且可以在O((log n)2)时间内执行搜索操作(这比线性搜索更好)。而且,它仅使用O(log n)空间用于指针,这与平衡二进制树和B树使用O(n)额外空间作为指针不同。因此,几乎所有空间都用于有效载荷数据。

我看过维基百科的list of data structures,但没有找到匹配的内容。的确,《算法简介》(“CLRS”)一书在“摊销分析”部分将这种数据结构描述为家庭作业问题,但是由于这是一个问题而不是一个示例,因此该书并没有多说。

最佳答案

类似的想法至少可以追溯到1978年4月CACM上的让·维勒明(Jean Vuillemin)的original publication on binomial heaps。我希望引入这种数据结构的论文会被Vuillemin引用或引用,但是有关“引用”和“被引用”列表的论文都没有希望。

如果我是您,我会问cstheory,然后写给CLRS,但是由于边界不够理想且缺少删除,除非succinct data structure社区对某个时候感兴趣,否则我不会指望任何事情出现。

您想知道些什么吗?

关于data-structures - 此排序数组数据结构的集合有名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16976059/

相关文章:

data-structures - 如何锁定 Rust 数据结构的内部结构?

algorithm - 如何从半边结构中去除边?

algorithm - 在 O(logN) 时间复杂度中使用 HashMap 对节点链表进行二进制搜索

Delphi编程将66位值(十六进制)转换为十进制

algorithm - 通俗地说,算法和数据结构是什么?

java - 为什么Java和C#不允许在栈上创建对象?

algorithm - 是 ϴ(n)/n = ϴ(1) 吗?

c - 通过指针访问结构[c]

computer-science - 程序和应用程序之间有什么区别?

algorithm - 最长最短路径(不完全是)