Self-adjusting k-ary search trees

9Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In this paper we introduce a self-adjusting k-ary search tree scheme to implement the abstract data type DICTIONARY. Sleator and Tarjan introduced splay trees and the splay heuristic in 1983 [ST83]. They proved that the amortized time efficiency of splay trees is within a constant factor of the efficiency of both balanced binary trees (such as AVL trees) and static optimal binary trees. Sleator and Tarjan's splay heuristic is defined only for binary search trees. In this paper, we consider a self-adjustment heuristic for k-ary search trees. We present a heuristic called k-splaying and prove that the amortized number of node READs per operation in k-ary trees maintained using this heuristic is O(log2n). (Note: All constants in our time bounds are independent of both k and n). This is within a factor of O(log2k) of the amortized number of node READs required for a B-tree operation. A k-ary tree maintained using the k-splay heuristic can be thought of as a self-adjusting B-tree. It differs from a B-tree in that leaves may be at different depths and the use of space is optimal. We also prove that the time efficiency of k-splay trees is comparable to that of static optimal k-ary trees. If sequence s in a static optimal tree takes time t, then sequence s in any k-splay tree will take time O(tlog2k+n2). These two results are k-ary analogues of two of Sleator and Tarjan's results for splay trees. As part of our static optimality proof, we prove that for every static tree (including any static optimal tree) there is a balanced static tree which takes at most twice as much time on any sequence of search operations. This lemma allows us to improve our static optimality bound to O(tlog2k+nlogkn), and similarly improve Sleator and Tarjan's static optimality result.

Cite

CITATION STYLE

APA

Sherk, M. (1989). Self-adjusting k-ary search trees. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 382 LNCS, pp. 381–392). Springer Verlag. https://doi.org/10.1007/3-540-51542-9_32

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free