Bidirectional map

Uses your system voice; voice and rate in settings.

Snapshot

≈ 2 min read

Names in other languages

No names in other languages are held for this entry yet.

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

In computer science, a bidirectional map is an associative data structure in which the (key, value) pairs form a one-to-one correspondence. Thus the binary relation is functional in each direction: each value can also be mapped to a unique key . A pair (a, b) thus provides a unique coupling between a and b so that b can be found when a is used as a key and a can be found when b is used as a key. Mathematically, a bidirectional map can be defined a bijection f: X \to Y between two different sets of keys X and Y of equal cardinality, thus constituting an injective and surjective function: \begin{cases} & \forall x, x' \in X, f(x) = f(x') \Rightarrow x = x' \\ & \forall y \in Y, \exists x \in X : y=f(x) \end{cases} \Rightarrow \exists f^{-1}(x)

In computer science, a bidirectional map is an associative data structure in which the (key, value) pairs form a one-to-one correspondence. Thus the binary relation is functional in each direction: each value can also be mapped to a unique key . A pair (a, b) thus provides a unique coupling between a and b so that b can be found when a is used as a key and a can be found when b is used as a key. Mathematically, a bidirectional map can be defined a bijection f: X \to Y between two different sets of keys X and Y of equal cardinality, thus constituting an injective and surjective function: \begin{cases} & \forall x, x' \in X, f(x) = f(x') \Rightarrow x = x' \\ & \forall y \in Y, \exists x \in X : y=f(x) \end{cases} \Rightarrow \exists f^{-1}(x) ==External links== Boost.org Commons.apache.org Cablemodem.fibertel.com.ar (archived version) Codeproject.com BiMap in the Google Guava library bidict (bidirectional map implementation for Python) BidirectionalDictionary (bidirectional map implementation for C#)

Text derived from https://en.wikipedia.org/w/index.php?oldid=1342555394 under CC BY-SA 4.0; modifications have been made.