Sets and sequences
Sets and multisets
in a set, each element occurs at most once, that is, no duplications of elements within a set. In contrast, in a multiset, al element may occur more than once. The multiplicity of an element in a multiset is the number of its occurrences in that set.
Remark
Of course, in computer science, sets and multisets are assumed to be dynamic, that is, elements may be inserted and removed.
Ordered and sorted sequences
An ordered sequence (or sequence, for short) is given by
- a number [math]\displaystyle{ n \in \N_{0} }[/math], its length,
- some component type [math]\displaystyle{ C }[/math], and
- a mapping [math]\displaystyle{ \pi : \{1,...,n\} \rightarrow C }[/math].
We say that [math]\displaystyle{ 1,...,n }[/math] are the positions in the sequence (a.k.a. the indexes). The element [math]\displaystyle{ \pi (i) }[/math] of sequence [math]\displaystyle{ S }[/math] at position [math]\displaystyle{ i }[/math] is denoted by [math]\displaystyle{ S[i] }[/math].
Consider a comparison [math]\displaystyle{ c }[/math] on [math]\displaystyle{ C }[/math], as introduced above. Then a sequence [math]\displaystyle{ S }[/math] of length [math]\displaystyle{ n }[/math] is sorted with respect to [math]\displaystyle{ c }[/math], if [math]\displaystyle{ S[i] \le S[i+1] }[/math] for all [math]\displaystyle{ i \in \{1,...,n-1\} }[/math].
Remark
Note that the first position is [math]\displaystyle{ 1 }[/math], not [math]\displaystyle{ 0 }[/math], as opposed to array indexes in many popular programming languages such as C, C++, and Java.
Like sets and multisets, sequences are dynamic.
Maps
A map is given by
- a number [math]\displaystyle{ n \in \N_{0} }[/math], its size
- a key type [math]\displaystyle{ \mathcal{K} }[/math] and a value type [math]\displaystyle{ \mathcal{V} }[/math],
- a finite subset [math]\displaystyle{ K \subseteq \mathcal{K} }[/math], the map's keys, and
- a mapping [math]\displaystyle{ K \rightarrow \mathcal{V} }[/math], which assigns a value to each key in the map.
Remark
A sequence may also be a map, namely if its component type is [math]\displaystyle{ \mathcal{K} \times \mathcal{V} }[/math] and each value of [math]\displaystyle{ \mathcal{K} }[/math] occurs at most once.
Like sets, multisets and sequences, maps are dynamic.