Datenstrukturen
Aus Das Sopra Wiki
Hinweise
- n entspricht immer dem Count der Datenstruktur, d.h. der Anzahl an Elementen in der Struktur.
- Falls nicht anders angegeben sind Laufzeiten immer Average Case.
- Alle Links zu den Datenstrukturen zeigen auf die englische Version der MSDN. Diese ist typischerweise vollständiger und genauer als ihre deutsche Übersetzung.
- Die meisten der hier vorgestellten Datenstrukturen sind Generics. Ihre Verwendung wird im Generic-Artikel erklärt.
- Mit Element-Typ wird hier der Wert bezeichnet, den der Enumerator bei einer foreach-Anweisung zurückgibt.
Laufzeiten und Eigenschaften (nach MSDN)
...
| Laufzeiten von Methoden | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Add | Remove | ElementAt | Contains | Clear | Count | Element-Typ | Thread-safe | Bemerkungen | |
| HashSet<T> | O(1) O(n) wenn Count + 1 > Capacity |
O(1) | ? | O(1) | O(n) | O(1) | T | Nein | keine Duplikate keine Ordnung |
| LinkedList<T> | O(1) |
O(1) |
O(n) |
O(n) |
O(1) |
O(1) |
T |
Nein |
Ordnung Duplikate |
| List<T> | O(1) O(n) wenn Count + 1 > Capacity |
O(n) |
O(1) |
O(n) |
O(1) |
T |
Nein |
||
| Queue<T> | T |
Nein |
|||||||
| Stack<T> | O(1) O(n) wenn Count + 1 > Capacity |
O(1) |
T |
Nein |
|||||
| SynchronizedCollection<T> | T |
Ja |
benutzt intern List<T> | ||||||
...
| Laufzeiten von Methoden | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Add | Remove | ElementAt | Contains | Clear | Count | Element-Typ | Thread-safe | Bemerkungen | |
| Dictionary<TKey, TValue> | |||||||||
| SortedDictionary<TKey, TValue> | |||||||||
| Hashtable | |||||||||
| SortedList<TKey, TValue> | |||||||||
