针对元素独特性,子集总和和最接近的问题等问题的新兴量子算法通过依靠抽象数据结构来展示计算优势。实际上将这种算法视为量子计算机的程序,需要有效地实现数据结构,其操作对应于操纵数据的量子叠加的单一操作员。要在叠加中正确操作,实现必须满足三个属性ð可逆性,历史独立性和有限的时间执行。标准实现,例如将抽象集作为哈希表的表示,使这些属性失败,呼吁开发专门实现的工具。在这项工作中,我们提出了Core Tower,这是具有随机访问记忆的量子编程的第一语言。Core Tower使开发人员能够将数据结构作为基于指针的链接数据实现。它具有可逆语义,使每个有效程序都可以翻译成统一的量子电路。我们提出了Boson,这是第一个支持量子叠加中可逆,独立和恒定时间动态内存分配的内存分配器。我们还展示了塔,这是一种用于递归定义的数据结构的量子编程的语言。塔具有类型系统,该系统使用经典参数界定所有递归,这对于在量子计算机上执行的必要条件是必要的。使用塔,我们实施了地面,即第一个量子数据结构库,包括列表,堆栈,队列,字符串和集合。我们提供了第一个可执行的集合实现,该集合满足了所有三个强制性的可逆性,历史记录独立性和有限时间执行的属性。
主要关键词