A LiFo dynamic dictionary

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.

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…