A function is bijective if it is both injective and surjective. That is, a bijective function maps each element of the domain to a distinct element in the codomain, and every element in the codomain is mapped to by exactly one element of the domain.
Examples
Injective, not surjective:
such that
,
, and
(each input has a unique output, but not all elements of the codomain are mapped to)


Surjective, not injective:
such that
,
,
, and 

(
and
map to the same output, so not injective; range is
, so surjective)
Bijections:
such that
,
, and 


Resources