Multi-finger binary search trees

09/05/2018
by   Parinya Chalermsook, et al.
0

We study multi-finger binary search trees (BSTs), a far-reaching extension of the classical BST model, with connections to the well-studied k-server problem. Finger search is a popular technique for speeding up BST operations when a query sequence has locality of reference. BSTs with multiple fingers can exploit more general regularities in the input. In this paper we consider the cost of serving a sequence of queries in an optimal (offline) BST with k fingers, a powerful benchmark against which other algorithms can be measured. We show that the k-finger optimum can be matched by a standard dynamic BST (having a single root-finger) with an O(k) factor overhead. This result is tight for all k, improving the O(k) factor implicit in earlier work. Furthermore, we describe new online BSTs that match this bound up to a (k)^O(1) factor. Previously only the "one-finger" special case was known to hold for an online BST (Iacono, Langerman, 2016; Cole et al., 2000). Splay trees, assuming their conjectured optimality (Sleator and Tarjan, 1983), would have to match our bounds for all k. Our online algorithms are randomized and combine techniques developed for the k-server problem with a multiplicative-weights scheme for learning tree metrics. To our knowledge, this is the first time when tools developed for the k-server problem are used in BSTs. As an application of our k-finger results, we show that BSTs can efficiently serve queries that are close to some recently accessed item. This is a (restricted) form of the unified property (Iacono, 2001) that was previously not known to hold for any BST algorithm, online or offline.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/03/2018

Weighted dynamic finger in binary search trees

It is shown that the online binary search tree data structure GreedyASS ...
research
03/08/2019

Belga B-trees

We revisit self-adjusting external memory tree data structures, which co...
research
10/02/2020

Splay trees on trees

Search trees on trees (STTs) are a far-reaching generalization of binary...
research
09/16/2022

Fast approximation of search trees on trees with centroid trees

Search trees on trees (STTs) generalize the fundamental binary search tr...
research
12/15/2021

Advice Complexity of Online Non-Crossing Matching

We study online matching in the Euclidean 2-dimesional plane with non-cr...
research
11/08/2022

Improved Pattern-Avoidance Bounds for Greedy BSTs via Matrix Decomposition

Greedy BST (or simply Greedy) is an online self-adjusting binary search ...
research
10/17/2018

k-Servers with a Smile: Online Algorithms via Projections

We consider the k-server problem on trees and HSTs. We give an algorithm...

Please sign up or login with your details

Forgot password? Click here to reset