Datenstrukturen: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Dietsch (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Dietsch (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Stub}}
{{Stub}}


== Übersicht ==
== Hinweise ==
* ''n'' entspricht immer dem ''Count'' der Datenstruktur, d.h. der Anzahl an Elementen in der Struktur.
* ''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.
* Falls nicht anders angegeben sind Laufzeiten immer Average Case.  
* Alle Links zu den Datenstrukturen zeigen auf die englische Version der [http://msdn.microsoft.com/en-us/ MSDN].
* Alle Links zu den Datenstrukturen zeigen auf die englische Version der [http://msdn.microsoft.com/en-us/ MSDN]. Diese ist typischerweise vollständiger und genauer als ihre [http://msdn.microsoft.com/de-de/ deutsche Übersetzung]. 
* Die meisten der hier vorgestellten Datenstrukturen sind [[Generic|Generics]]. Ihre Verwendung wird im [[Generic]]-Artikel erklärt.
* Die meisten der hier vorgestellten Datenstrukturen sind [[Generic|Generics]]. Ihre Verwendung wird im [[Generic]]-Artikel erklärt.  
* Mit ''Element-Typ'' wird hier der Wert bezeichnet, den der [[CSharp:Enumerator|Enumerator]] bei einer [[CSharp:foreach|foreach]]-Anweisung zurückgibt.
* Mit ''Element-Typ'' wird hier der Wert bezeichnet, den der [[CSharp:Enumerator|Enumerator]] bei einer [[CSharp:foreach|foreach]]-Anweisung zurückgibt.


=== Laufzeiten laut MSDN ===
== Laufzeiten und Eigenschaften (nach [http://msdn.microsoft.com/en-us/ MSDN]) ==
{| width="100%" class="default"
=== ... ===
|-
<table width="100%" class="default">
| class="blank" |
<tr><td class="blank"></td><th colspan="6">Laufzeiten von Methoden</th><td class="blank"></td></tr>
! colspan="6" | Laufzeiten von Methoden
<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>Thread Safe</th><th>Bemerkungen</th></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/bb359438.aspx HashSet<T>]</th></tr>
| class="blank" |
<tr><th>[http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx LinkedList<T>]</th></tr>
|-
<tr><th>[http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx List<T>]</th></tr>
| class="blank" |
<tr><th>[http://msdn.microsoft.com/en-us/library/7977ey2c.aspx Queue<T>]</th></tr>
! Add
<tr><th>[http://msdn.microsoft.com/en-us/library/3278tedw.aspx Stack<T>]</th></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/ms668265.aspx SynchronizedCollection<T>]</th></tr>
! Remove
</table>
 
! ElementAt
=== ... ===
<table width="100%" class="default">
! Contains
<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>Thread Safe</th><th>Bemerkungen</th></tr>
! Clear
<tr><th>[http://msdn.microsoft.com/en-us/library/xfhwa508.aspx Dictionary<TKey, TValue>]</th></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/f7fta44c.aspx SortedDictionary<TKey, TValue>]</th></tr>
! Count
<tr><th>[http://msdn.microsoft.com/en-us/library/system.collections.hashtable.aspx Hashtable]</th></tr>
<tr><th>[http://msdn.microsoft.com/en-us/library/ms132319.aspx SortedList<TKey, TValue>]</th></tr>
! Element-Typ
</table>
! [[ThreadSafety|Thread-safe]]
! Bemerkungen
|-
! [http://msdn.microsoft.com/en-us/library/bb359438.aspx HashSet&lt;T&gt;]
|
|
|
|
|
|
|
| Nein
| class="close" |
|-
! [http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx LinkedList&lt;T&gt;]
|
|
|
|
|
|
|
| Nein
| class="close" |
|-
! [http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx List&lt;T&gt;]
|
|
|
|
|
|
|
| Nein
| class="close" |
|-
! [http://msdn.microsoft.com/en-us/library/7977ey2c.aspx Queue&lt;T&gt;]
|
|
|
|
|
|
|
| Nein
| class="close" |
|-
! [http://msdn.microsoft.com/en-us/library/3278tedw.aspx Stack&lt;T&gt;]
|
|
|
|
|
|
|
| Nein
| class="close" |
|-
! [http://msdn.microsoft.com/en-us/library/ms668265.aspx SynchronizedCollection&lt;T&gt;]
|
|
|
|
|
|
|
| Ja
| class="close" | Benötigt [[Referenz]] auf System.ServiceModel
|-
! [http://msdn.microsoft.com/en-us/library/xfhwa508.aspx Dictionary&lt;TKey, TValue&gt;]
|
|
|
|
|
|
|
| Nein
| class="close" |
|-
! [http://msdn.microsoft.com/en-us/library/f7fta44c.aspx SortedDictionary&lt;TKey, TValue&gt;]
|
|
|
|
|
|
|
| Nein
| class="close" |
|-
! [http://msdn.microsoft.com/en-us/library/system.collections.hashtable.aspx Hashtable]
|
|
|
|
|
|
|
| Nein
| class="close" |
|-
! [http://msdn.microsoft.com/en-us/library/ms132319.aspx SortedList&lt;TKey, TValue&gt;]
|
|
|
|
|
|
|
| Nein
| class="close" |
|}

Version vom 18. April 2009, 20:12 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>
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>