SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Datastrukturer og Collections
Jeanette Nielsen
Datastrukturer
• Arrays (én- eller flerdimensionale) -statisk
• linked lister - dynamisk
• Træer - dynamisk
• Hashtabeller - dynamisk
Dynamisk vs. statisk datastruktur
• Array
Dynamisk vs. statisk datastruktur
• Linked List
Dynamisk vs. statisk datastruktur
• Array
– Fordele:
• Direkte afgang til et
elemet vha index - O(1)
– Ulemper:
• Pladsspild
• Ændringer
koster dyrt
– Anvendes til:
• Data der ændres
sjældent men tit
anvender index
• Linked List
– Fordele:
• Ingen plads spild
• Dynamisk
udvidelse/mindskning
– Ulemper:
• Ingen index adgang –
søgning hver gang
– Anvendes til:
• Data med mange
ændringer
Datatyper
• Simple datatyper
– Build-in datatyper: int, char, bool ect. …
– Bruger-definerede datatyper: class, interface , struct
– To typer:
• Valuetype: int, char, bool, struct…
• Referencetype: string, object, class, Interface
• Abstrakte datatyper
– en samling data og en mængde operationer til at
manipulere dataen
– Indkapsling af datastruktur
– Kan anvendes uden at kende implementeringen
System.Collection
Build-in :NET AOD’s :
• System.Collections
– Queue
– Stack
– ArrayList
– Hashtable
Binary Tree

Weitere ähnliche Inhalte

Andere mochten auch (12)

problemas
problemasproblemas
problemas
 
LJ52 33
LJ52 33LJ52 33
LJ52 33
 
EPUB vs. WEB: A Cautionary Tale - ebookcraft 2016 - Tzviya Siegman & Dave Cramer
EPUB vs. WEB: A Cautionary Tale - ebookcraft 2016 - Tzviya Siegman & Dave CramerEPUB vs. WEB: A Cautionary Tale - ebookcraft 2016 - Tzviya Siegman & Dave Cramer
EPUB vs. WEB: A Cautionary Tale - ebookcraft 2016 - Tzviya Siegman & Dave Cramer
 
Informe ejecutivo fase 2
Informe ejecutivo fase 2Informe ejecutivo fase 2
Informe ejecutivo fase 2
 
Pain Anxiety Symptom Scale 20
Pain Anxiety Symptom Scale 20Pain Anxiety Symptom Scale 20
Pain Anxiety Symptom Scale 20
 
Fear-Avoidance Beliefs Questionnaire
Fear-Avoidance Beliefs QuestionnaireFear-Avoidance Beliefs Questionnaire
Fear-Avoidance Beliefs Questionnaire
 
Evaluating the risk of opioid abuse in chronic pain patients
Evaluating the risk of opioid abuse in chronic pain patientsEvaluating the risk of opioid abuse in chronic pain patients
Evaluating the risk of opioid abuse in chronic pain patients
 
Using local culture in English teaching
Using local culture in English teachingUsing local culture in English teaching
Using local culture in English teaching
 
Pertemuan 3 organisasi_komputer_logika_digital
Pertemuan 3 organisasi_komputer_logika_digitalPertemuan 3 organisasi_komputer_logika_digital
Pertemuan 3 organisasi_komputer_logika_digital
 
Siklus Hydrologi
Siklus HydrologiSiklus Hydrologi
Siklus Hydrologi
 
كتاب الفهرست لابن النديم
كتاب الفهرست لابن النديم كتاب الفهرست لابن النديم
كتاب الفهرست لابن النديم
 
كتاب الملل والنحل للشهرستاني
كتاب الملل والنحل للشهرستانيكتاب الملل والنحل للشهرستاني
كتاب الملل والنحل للشهرستاني
 

Mehr von jeanette89

Eksamen tn transport projekt
Eksamen tn transport projektEksamen tn transport projekt
Eksamen tn transport projektjeanette89
 
8 Distribueret programming - web services
8 Distribueret programming - web services8 Distribueret programming - web services
8 Distribueret programming - web servicesjeanette89
 
7 Distribueret programming - .NET remoting
7 Distribueret programming - .NET remoting7 Distribueret programming - .NET remoting
7 Distribueret programming - .NET remotingjeanette89
 
6 Parallelprogrammering
6 Parallelprogrammering6 Parallelprogrammering
6 Parallelprogrammeringjeanette89
 
5 grammatikker sprog og parsing
5 grammatikker sprog og parsing5 grammatikker sprog og parsing
5 grammatikker sprog og parsingjeanette89
 
3 Rekursion og rekursive algoritmer
3 Rekursion og rekursive algoritmer3 Rekursion og rekursive algoritmer
3 Rekursion og rekursive algoritmerjeanette89
 
1 Objekter og Klasser
1 Objekter og Klasser1 Objekter og Klasser
1 Objekter og Klasserjeanette89
 

Mehr von jeanette89 (9)

Eksamen tn transport projekt
Eksamen tn transport projektEksamen tn transport projekt
Eksamen tn transport projekt
 
9 XML
9 XML9 XML
9 XML
 
8 Distribueret programming - web services
8 Distribueret programming - web services8 Distribueret programming - web services
8 Distribueret programming - web services
 
7 Distribueret programming - .NET remoting
7 Distribueret programming - .NET remoting7 Distribueret programming - .NET remoting
7 Distribueret programming - .NET remoting
 
6 Parallelprogrammering
6 Parallelprogrammering6 Parallelprogrammering
6 Parallelprogrammering
 
5 grammatikker sprog og parsing
5 grammatikker sprog og parsing5 grammatikker sprog og parsing
5 grammatikker sprog og parsing
 
3 Rekursion og rekursive algoritmer
3 Rekursion og rekursive algoritmer3 Rekursion og rekursive algoritmer
3 Rekursion og rekursive algoritmer
 
2 Grafer
2 Grafer2 Grafer
2 Grafer
 
1 Objekter og Klasser
1 Objekter og Klasser1 Objekter og Klasser
1 Objekter og Klasser
 

4 Datastrukturer og Collections

  • 2. Datastrukturer • Arrays (én- eller flerdimensionale) -statisk • linked lister - dynamisk • Træer - dynamisk • Hashtabeller - dynamisk
  • 3. Dynamisk vs. statisk datastruktur • Array
  • 4. Dynamisk vs. statisk datastruktur • Linked List
  • 5. Dynamisk vs. statisk datastruktur • Array – Fordele: • Direkte afgang til et elemet vha index - O(1) – Ulemper: • Pladsspild • Ændringer koster dyrt – Anvendes til: • Data der ændres sjældent men tit anvender index • Linked List – Fordele: • Ingen plads spild • Dynamisk udvidelse/mindskning – Ulemper: • Ingen index adgang – søgning hver gang – Anvendes til: • Data med mange ændringer
  • 6. Datatyper • Simple datatyper – Build-in datatyper: int, char, bool ect. … – Bruger-definerede datatyper: class, interface , struct – To typer: • Valuetype: int, char, bool, struct… • Referencetype: string, object, class, Interface • Abstrakte datatyper – en samling data og en mængde operationer til at manipulere dataen – Indkapsling af datastruktur – Kan anvendes uden at kende implementeringen
  • 7. System.Collection Build-in :NET AOD’s : • System.Collections – Queue – Stack – ArrayList – Hashtable
  • 8.

Hinweis der Redaktion

  1. Datastrukturer - konstruktion i programmeringssproget som lagre en samling data En datastruktur er en systematisk måde at organisere en datamængde i memory (eller på disk): Array – statisk Kædet (linked) liste – dynamisk – Træer – oftest dynamisk – ikke i c# Hashtabeller - ikke i c# (Til en datastruktur hører der algoritmer, som udfører indsættelser, sletninger, søgninger, gennemløb (traverseringer) mv. )
  2. Nederst: Give illusion af at være dynamisk, men hele listen flyttes. Array-baseret liste: FAST mængde memory allokeres. fast (statisk) størrelse (pladsspild), udvider ved at flytte det hele til dobbelt så stor array Kan evt. vokse og aftage i størrelse (ArrayList), men dette er meget dyrt i køretid (O(n)) Giver direkte access til elementer på index (O(1)) Kædet liste: Optager kun den nødvendige plads (vokser og aftager efter behov). Overhead til referencer (plads) og memory-management (tid) Kun sekventiel access: access på index kræver søgning (dyrt: O(n))
  3. Hver knude indeholder en værdi (evt. en objektreference) og en reference (pointer) til næste element (next): Selve listen repræsenteres af en reference til første element, kaldes ofte head Sidste elements next-reference er som regel null Kædede lister er dynamiske: deres størrelse vokser of aftager efter behov.
  4. Interface – value OG reference type, alt efter om det er en value eller reference type der implementere det. Står angivet som reference af MS En datatype er defineret ved: En mængde af værdier (hvilke værdier kan antages?) En datarepræsentation (hvordan lagres værdierne?) Operationer (hvilke operationer kan udføres på typen?) Abstrakt Datatype – en samling data og en mængde operationer til at manipulere data’en Fx sorted array og binary search algoritme Carrano175 En ADT er ofte en indkapsling af en datastruktur med tilhørende algoritmer til manipulation af datastrukturen. Bør som udgangspunkt kun indeholde få nødvendige metoder
  5. Implementere interfaces: ICollection IEnumerable IList ICompareable ect ect ArrayList - dynamisk array af objekter Stack – LIFO last in first out, push – pop Queue – FIFO first in first out, alm kø
  6. .NET Framework does not include any built-in binary search tree data structures Reference baseret implementation Indsæt/slet/ søg : O(log n) / O(n) Best / worst case