Maps: Difference between revisions
From charlesreid1
| Line 39: | Line 39: | ||
For implementations of maps, see the following: | For implementations of maps, see the following: | ||
Map base class: | Map abstract data type: | ||
* [[Maps/ADT]] | |||
Map base class (implements most of the ADT above): | |||
* [[Maps/MapBase]] | * [[Maps/MapBase]] | ||
Revision as of 04:37, 21 June 2017
See also: Dictionaries
Maps are value-based data structures that create a bijection from one set onto another, such that one input key yields one corresponding output value.
Notes
Maps are, under the hood, related to the concept of a Function - a map from one set onto another.
Under the hood, maps can take many forms. They can be stored as a simple unsorted array of key-value item objects. They can be stored in a sorted array of key-value items. They can be stored with a tree. They can be stored with a hash table. etc.
These are essentially identical to Dictionaries.
Example: word counts
A canonical example of maps is performing word counts for text files. Each word is added to the dictionary as a key, and the word count is the value. Keys are added with a default key value of 1, and if a word already exists as a key its value is incremented.
Pseudocode:
create empty map
for each word in input file:
if(word in map keys):
increment value at key word
else:
add new pair (word, 1) to map
Map classification
Map types are organized as follows:
- Unsorted maps
- Hash maps
- Sorted maps
See implementations below.
Map Implementations
For implementations of maps, see the following:
Map abstract data type:
Map base class (implements most of the ADT above):
Map implementations using arrays:
Map implementations using hash tables:
Flags
| Maps and Dictionaries Part of Computer Science Notes
Series on Data Structures
Maps/Dictionaries Maps · Maps/ADT · Maps in Java · Maps/OOP · Maps/Operations and Performance Map implementations: Maps/AbstractMap · Maps/UnsortedArrayMap · Maps/SortedArrayMap Dictionary implementations: Dictionaries/LinkedDict · Dictionaries/ArrayDict
Hashes Hash Maps/OOP · Hash Maps/Operations and Performance Hash Maps/Dynamic Resizing · Hash Maps/Collision Handling with Chaining Hash functions: Hash Functions · Hash Functions/Cyclic Permutation Hash map implementations: Hash Maps/AbstractHashMap · Hash Maps/ChainedHashMap
Skip Lists · Java/ConcurrentSkipList · Java implementations: SkipList
Sets Sets · Sets/ADT · Sets in Java · Sets/OOP · Multisets
|