Skip to main content
QUICK REVIEW

[论文解读] In-place associative integer sorting

A. Emre Cetin|arXiv (Cornell University)|Sep 4, 2012
Algorithms and Data Compression参考文献 15被引用 5
一句话总结

本文提出了一种基于认知神经科学中记忆形成与检索的序数理论的原地关联整数排序算法。通过模拟记忆的三个阶段——练习、存储和检索——该算法利用一个虚构的线性子空间(ILS),通过带标签的节点将整数与位置关联,实现了 O(n + m) 的时间复杂度和 O(1) 的额外空间复杂度,优于传统基于分布的排序算法在空间效率方面的表现,同时在整数均匀分布时保持线性时间性能。

ABSTRACT

A novel integer value-sorting technique is proposed replacing bucket sort, distribution counting sort and address calculation sort family of algorithms. It requires only constant amount of additional memory. The technique is inspired from one of the ordinal theories of "serial order in behavior" and explained by the analogy with the three main stages in the formation and retrieval of memory in cognitive neuroscience namely (i) practicing, (ii) storing and (iii) retrieval. Although not suitable for integer rank-sorting where the problem is to put an array of elements into ascending or descending order by their numeric keys, each of which is an integer, the technique seems to be efficient and applicable to rank-sorting, as well as other problems such as hashing, searching, element distinction, succinct data structures, gaining space, etc.

研究动机与目标

  • 解决基于分布的整数排序算法(如桶排序、计数排序和地址计算排序)的空间低效问题。
  • 开发一种原地排序技术,在仅使用常数额外内存的前提下保持线性时间复杂度。
  • 将排序过程建模为认知神经科学中的三阶段记忆循环:练习、存储和检索。
  • 在内存受限的环境中(如嵌入式系统或内存数据库)实现高效排序。
  • 探索该方法在排序之外的应用,包括哈希、紧凑数据结构以及空间高效的数据显示。

提出的方法

  • 该算法使用一个跨越预定义整数范围的虚构线性子空间(ILS),通过单调双射哈希函数将整数映射到 ILS 中的位置,从而创建节点。
  • 每个节点是一个带标签的字,最高有效位(MSB)用于标记其为节点,其余位用于存储关联整数的计数。
  • 按顺序处理输入数组中的整数,以‘练习’其与 ILS 的关联,对重复值增加节点计数器。
  • 所有整数处理完毕后,节点按相对顺序被存储在数组的起始位置,形成一种短期记忆结构。
  • 然后通过遍历 ILS 节点,将对应整数在时间复杂度为线性的条件下写回数组空间,完成排序结果的检索。
  • 该技术依赖于内容关联,不依赖于位置-项目或项目-项目之间的链接,与行为中序列顺序的序数理论一致。

实验结果

研究问题

  • RQ1能否通过模拟记忆形成与检索过程,使排序算法在 O(1) 额外空间下实现线性时间复杂度?
  • RQ2与传统的基于分布的排序算法(如桶排序和计数排序)相比,该关联排序技术在时间与空间效率方面的表现如何?
  • RQ3该算法的效率在多大程度上依赖于输入整数的分布,特别是在平均情况下的表现?
  • RQ4该关联模型能否扩展至其他数据结构问题,如哈希、成员查询或紧凑表示?
  • RQ5为何该算法不稳定?是否可以在不牺牲空间效率的前提下保持稳定性?

主要发现

  • 该算法在最坏情况下达到 O(n + m) 的时间复杂度,其中 m 为整数范围的大小,适用于稀疏整数分布。
  • 在整数均匀分布的平均情况下,该算法的时间复杂度为 O(m),当 m 与 n 成比例时,渐近优于 O(n + m)。
  • 最好情况时间复杂度为 O(n),当所有整数已处于可立即检索的形式时,仅需最少的练习即可实现。
  • 该算法仅使用 O(1) 的额外空间,因此是原地的,适用于内存受限的环境。
  • 与传统的基于内容的排序算法(如桶排序和计数排序)相比,该技术在空间效率上表现更优,尤其当 m/n 较小时。
  • 该方法通过空闲整数操作自然实现空间节省,支持紧凑数据结构和内存优化的应用。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。