A LiFo dynamic dictionary
Josef Schoenbrunner
Abstract
Data structures that realize a dictionary are characterized by three basic instructions: (1) Insert (a new entry <key,value>). (2) Search by a key, returning the associated value. (3) Delete an entry. Known realizations are hashing schemes and various types of search trees. Time complexity of the fundamental operations is measured as a function of the number of entries n, the (binary) size of a key s is usually not considered. For search trees the expected time as well as the upper limit of time is O( n). "LiFo Dynamic Dictionary" (for short "LiFo Dictionary") is a new implementation, the time limits for "Insert" and for "Search" both are a linear function of the length s of the used key, that is O(s). "LiFo Dictionary" furthermore provides two additional basic operations: (4) "open environment" and (5) "close environment" with a constant time for performing. "Close environment" needs only one assignment by which it restores exactly the same internal situation as before the last call of "open environment". This feature cannot be realized by any of the data structures mentioned above, therefore the prefix LiFo (=last in first out), another name for STACK. This ability is highly suitable for software applications that frequently perform local symbol to value binding throughout multiple levels of environments. E.g. Lisp-Interpreters or D. Knuth's programm are such applications.
Create a lesson
Related papers
Pseudofinite abelian groups and asymptotic classes of finite abelian groups
Carlos Cordoba-Caycedo, Dario Garcia
Spectral Theory and Descriptive Combinatorics for Non-Regular Borel pmp Graphs
Cecelia Higgins, Pieter Spaas, Sofia Torelli
The strength of the minimum principle in constructive reverse mathematics
Tatsuji Kawai
Independence of premise for intuitionistic Zermelo-Fraenkel set theory
Patrick Uftring
Condensed Whitehead Problem
Spencer Unger, Jerry Wei
Points and their multiples on curves in powers of simple abelian varieties
David J. Smith