Misplaced Pages

Bidirectional map

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
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 ( k e y , v a l u e ) {\displaystyle (key,value)} pairs form a one-to-one correspondence. Thus the binary relation is functional in each direction: each v a l u e {\displaystyle value} can also be mapped to a unique k e y {\displaystyle key} . A pair ( a , b ) {\displaystyle (a,b)} thus provides a unique coupling between a {\displaystyle a} and b {\displaystyle b} so that b {\displaystyle b} can be found when a {\displaystyle a} is used as a key and a {\displaystyle a} can be found when b {\displaystyle b} is used as a key.

Mathematically, a bidirectional map can be defined a bijection f : X Y {\displaystyle f:X\to Y} between two different sets of keys X {\displaystyle X} and Y {\displaystyle Y} of equal cardinality, thus constituting an injective and surjective function:

{ x , x X , f ( x ) = f ( x ) x = x y Y , x X : y = f ( x ) f 1 ( x ) {\displaystyle {\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


Stub icon

This algorithms or data structures-related article is a stub. You can help Misplaced Pages by expanding it.

Categories: