Searching-Symbol Tables - Definition

59 阅读1分钟

Definition.

A symbol table is a data structure for key-value pairs that

supports two operations: insert (put) a new pair into the table and

search for (get) the value associated with a given key.


The central question is whether we can devise algorithms and data

structures that achieve logarithmic performance for both search and insert.

How can we achieve this goal? To support efficient insertion, it seems that

we need a linked structure. But a singly linked list forecloses the use of

binary search, because the efficiency of binary search depends on our

ability to get to the middle of any subarray quickly via indexing (and the

only way to get to the middle of a singly linked list is to follow links). To

combine the efficiency of binary search with the flexibility of linked

structures, we need more complicated data structures. That combination is

provided both by binary search trees and by hash tables.

image.png