当前位置: X-MOL 学术SIAM J. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Smooth Heaps and a Dual View of Self-Adjusting Data Structures
SIAM Journal on Computing ( IF 1.2 ) Pub Date : 2019-11-05 , DOI: 10.1137/18m1195188
László Kozma , Thatchaphol Saranurak

SIAM Journal on Computing, Ahead of Print.
We present a new connection between self-adjusting binary search trees (BSTs) and heaps, two fundamental, extensively studied, and practically relevant families of data structures [B. Allen and I. Munro, J. ACM, 25 (1978), pp. 526--535; D. D. Sleator and R. E. Tarjan, J. ACM, 32 (1985), pp. 652--686; M. L. Fredman et al., Algorithmica, 1 (1986), pp. 111--129; R. Wilber, SIAM J. Comput., 18 (1989), pp. 56--67; M. L. Fredman, in WAE 1999, Springer, Berlin, 1999, pp. 244--258; J. Iacono and Ö. Özkan, in ICALP 2014, Springer, Berlin, 2014, pp. 637--649]. Roughly speaking, we map an arbitrary heap algorithm within a natural model, to a corresponding BST algorithm with the same cost on a dual sequence of operations (i.e., the same sequence with the roles of time and key-space switched). This is the first general transformation between the two families of data structures. There is a rich theory of dynamic optimality for BSTs (i.e., the theory of competitiveness between BST algorithms). The lack of an analogous theory for heaps has been noted in the literature (e.g., [S. Pettie, in FOCS 2005, IEEE, Washington, DC, 2005, pp. 174--183; S. Pettie, in SODA 2008, ACM, New York, SIAM, Philadelphia, 2008, pp. 1115--1124]). Through our connection, we transfer all instance-specific lower bounds known for BSTs to a general model of heaps, initiating a theory of dynamic optimality for heaps. On the algorithmic side, we obtain a new, simple, and efficient heap algorithm, which we call the smooth heap. We show the smooth heap to be the heap-counterpart of Greedy, the BST algorithm with the strongest proven and conjectured properties from the literature, widely believed to be instance-optimal [J. M. Lucas, Canonical Forms for Competitive Binary Search Tree Algorithms, Tech. rep. DCS-TR-250, Rutgers University, New Brunswick, NJ, 1988; J. Munro, in Algorithms---ESA 2000, Lecture Notes in Comput. Sci. 1879, Springer, Berlin, Heidelberg, 2000, pp. 338--345; E. D. Demaine et al., in SODA 2009, AMC, New York, SIAM, Philadelphia, 2009, pp. 496--505]. Assuming the optimality of Greedy, the smooth heap is also optimal within our model of heap algorithms. As corollaries of results known for Greedy, we obtain instance-specific upper bounds for the smooth heap, with applications in adaptive sorting. Intriguingly, the smooth heap, although derived from a non-practical BST algorithm, is simple and easy to implement (e.g., it stores no auxiliary data besides the keys and tree pointers). It can be seen as a variation on the popular pairing heap data structure, extending it with a “power-of-two-choices” type of heuristic.


中文翻译:

平滑堆和自调整数据结构的双重视图

《 SIAM计算杂志》,预印本。
我们提出了自调整二进制搜索树(BST)与堆之间的新连接,这是两个基础的,经过广泛研究并且实际上相关的数据结构族[B. Allen和I.Munro,J.ACM,25(1978),第526--535页; DD Sleator和RE Tarjan,J.ACM,32(1985),第652--686页; ML Fredman等人,Algorithmica,1(1986),第111--129页; R.Wilber,SIAM J.Comput。,18(1989),第56--67页; ML·弗雷德曼(ML Fredman),在WAE 1999中,施普林格,柏林,1999年,第244--258页;J. Iacono和Ö。Özkan,在《 ICALP 2014》中,施普林格,柏林,2014年,第637--649页]。粗略地说,我们将自然模型中的任意堆算法映射到对应的BST算法,该算法在双重操作序列上具有相同的成本(即,具有时间和键空间切换作用的相同序列)。这是两个数据结构系列之间的首次常规转换。BST有丰富的动态最优理论(即BST算法之间的竞争性理论)。文献中已经注意到缺乏类似的堆理论(例如,[S。Pettie,在FOCS 2005中,IEEE,华盛顿特区,2005年,第174--183页; S。Pettie,在SODA 2008中,ACM ,纽约,SIAM,费城,2008年,第1115--1124页]。通过我们的连接,我们将BST已知的所有特定于实例的下限传输到堆的通用模型,从而启动了堆的动态最佳化理论。在算法方面,我们获得了一种新的,简单而有效的堆算法,我们称之为平滑堆。我们将平滑堆显示为贪婪的堆对应物,BST算法具有文献中最强的经过验证和推测的特性,被广泛认为是实例最优的[JM Lucas,竞争性二进制搜索树算法的规范形式,技术。代表 DCS-TR-250,罗格斯大学,新泽西州新不伦瑞克省,1988;J. Munro,在Algorithms--ESA 2000中,在Comput中的讲义。科学 1879年,施普林格,柏林,海德堡,2000年,第338--345页; ED Demaine等人,在SODA 2009中,AMC,纽约,SIAM,费城,2009年,第496--505页]。假设贪婪的最优性,那么在我们的堆算法模型中,平滑堆也是最优的。作为以Greedy已知的结果的推论,我们获得了适用于平滑堆的实例特定的上限,并在自适应排序中进行了应用。有趣的是,尽管平滑堆是从非实用的BST算法派生出来的,但它既简单又易于实现(例如 例如,除了键和树指针之外,它不存储任何辅助数据。可以将其视为流行的配对堆数据结构的一种变体,并使用“二选一幂”类型的启发式方法对其进行扩展。
更新日期:2019-11-05
down
wechat
bug