Datenstrukturen: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Dietsch (Diskussion | Beiträge)
Dietsch (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:


== Hinweise  ==
== 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.
* 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]. Diese ist typischerweise vollständiger und genauer als ihre [http://msdn.microsoft.com/de-de/ deutsche Übersetzung].   
* 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 (alle außer Hashtable) sind [[Generic|Generics]]. Ihre Verwendung wird im [[Generic]]-Artikel erklärt.  
* Die meisten der hier vorgestellten Datenstrukturen (alle außer Hashtable) sind [[Generic|Generics]]. Ihre Verwendung wird im [[Generic]]-Artikel erklärt.  
* ''n'' entspricht immer dem ''Count'' der Datenstruktur, d.h. der Anzahl an Elementen in der Struktur. 
* 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.
* Datenstrukturen die auf Arrays basieren besitzen intern eine ''Capacity''. Diese gibt die aktuelle Größe des internen Arrays an. ''Capacity'' ist immer größer bzw. gleich ''Count''. Sollte beim Hinzufügen eines Elements die ''Capacity'' der Struktur überschritten werden, muss diese wachsen. Dazu erzeugt sie intern einen neuen, größeren Array und kopiert alle bis dahin vorhandenen Einträge in diesen neuen Array. Typischerweise ist die neue Größe des Arrays die erste Primzahl, die größer als das Doppelte der alten Capacity ist.  
* ''ElementAt'' ist eine spezielle [http://msdn.microsoft.com/en-us/library/bb383977.aspx Extension Method]. Bei Strukturen die auf ''IList<T>'' basieren gibt sie das Element an der angegebenen Position an, ansonsten iteriert sie so oft wie angegeben und gibt das Element an dieser Stelle zurück.
* Datenstrukturen die auf Arrays basieren besitzen intern eine ''Capacity''. Diese gibt die aktuelle Größe des internen Arrays an. ''Capacity'' ist immer größer bzw. gleich ''Count''. Sollte beim Hinzufügen eines Elements die ''Capacity'' der Struktur überschritten werden, muss diese wachsen. Dazu erzeugt sie intern einen neuen, größeren Array und kopiert alle bis dahin vorhandenen Einträge in diesen neuen Array. Typischerweise ist die neue Größe des Arrays die erste Primzahl, die größer als das Doppelte der alten Capacity ist.


== Laufzeiten und Eigenschaften (nach [http://msdn.microsoft.com/en-us/ MSDN]) ==
== Laufzeiten und Eigenschaften (nach [http://msdn.microsoft.com/en-us/ MSDN]) ==