Datenstrukturen: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Dietsch (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Dietsch (Diskussion | Beiträge)
Zeile 13: Zeile 13:
<tr><td class="blank"></td><th colspan="6">Laufzeiten von Methoden</th><td class="blank"></td></tr>
<tr><td class="blank"></td><th colspan="6">Laufzeiten von Methoden</th><td class="blank"></td></tr>
<tr><td class="blank"></td><th>Add</th><th>Remove</th><th>ElementAt</th><th>Contains</th><th>Clear</th><th>Count</th><th>Element-Typ</th><th>[[ThreadSafety|Thread-safe]]</th><th>Bemerkungen</th></tr>
<tr><td class="blank"></td><th>Add</th><th>Remove</th><th>ElementAt</th><th>Contains</th><th>Clear</th><th>Count</th><th>Element-Typ</th><th>[[ThreadSafety|Thread-safe]]</th><th>Bemerkungen</th></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/bb359438.aspx HashSet<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/bb359438.aspx HashSet<T>]</th><td>O(1)<br>O(n) wenn Count + 1 > Capacity </td><td>O(1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close">keine Duplikate<br>keine Ordnung</td></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx LinkedList<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx LinkedList<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx List<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx List<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
Zeile 19: Zeile 19:
<tr><th>[http://msdn.microsoft.com/en-us/library/3278tedw.aspx Stack<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/3278tedw.aspx Stack<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/ms668265.aspx SynchronizedCollection<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/ms668265.aspx SynchronizedCollection<T>]</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td class="close"></td></tr>
</table>
</table>



Version vom 18. April 2009, 20:34 Uhr



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
AddRemoveElementAtContainsClearCountElement-TypThread-safeBemerkungen
HashSet<T>O(1)
O(n) wenn Count + 1 > Capacity
O(1)keine Duplikate
keine Ordnung
LinkedList<T>
List<T>
Queue<T>
Stack<T>
SynchronizedCollection<T>

...

Laufzeiten von Methoden
AddRemoveElementAtContainsClearCountElement-TypThread-safeBemerkungen
Dictionary<TKey, TValue>
SortedDictionary<TKey, TValue>
Hashtable
SortedList<TKey, TValue>