This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (April 2015) (Learn how and when to remove this message) |
In computer science, a bidirectional map is an associative data structure in which the 👁 {\displaystyle (key,value)}
pairs form a one-to-one correspondence. Thus the binary relation is functional in each direction: each 👁 {\displaystyle value}
can also be mapped to a unique 👁 {\displaystyle key}
. A pair 👁 {\displaystyle (a,b)}
thus provides a unique coupling between 👁 {\displaystyle a}
and 👁 {\displaystyle b}
so that 👁 {\displaystyle b}
can be found when 👁 {\displaystyle a}
is used as a key and 👁 {\displaystyle a}
can be found when 👁 {\displaystyle b}
is used as a key.
Mathematically, a bidirectional map can be defined a bijection 👁 {\displaystyle f:X\to Y}
between two different sets of keys 👁 {\displaystyle X}
and 👁 {\displaystyle Y}
of equal cardinality, thus constituting an injective and surjective function:
External links
[edit]- 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#)
