On the Cost of Unsuccessful Searches in Search Trees with Two-way Comparisons

1 Mar 2021  ·  Marek Chrobak, Mordecai Golin, J. Ian Munro, Neal E. Young ·

Search trees are commonly used to implement access operations to a set of stored keys. If this set is static and the probabilities of membership queries are known in advance, then one can precompute an optimal search tree, namely one that minimizes the expected access cost. For a non-key query, a search tree can determine its approximate location by returning the inter-key interval containing the query. This is in contrast to other dictionary data structures, like hash tables, that only report a failed search. We address the question "what is the additional cost of determining approximate locations for non-key queries"? We prove that for two-way comparison trees this additional cost is at most 1. Our proof is based on a novel probabilistic argument that involves converting a search tree that does not identify non-key queries into a random tree that does.

PDF Abstract
No code implementations yet. Submit your code now

Categories


Data Structures and Algorithms 68P10, 68P30, 68W25, 94A45 E.4; G.1.6; G.2.2; H.3.1; I.4.2

Datasets


  Add Datasets introduced or used in this paper