Abstrakte datatyper – C#-version
Abstrakte datatyper – C#-version
Abstrakte datatyper – C#-version
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
NOEA/IT <strong>–</strong> Programmeringsteknologi/<strong>C#</strong>.NET FEN/2004-02-20<br />
<strong>Abstrakte</strong> Datatyper<br />
Denne note introducerer kort begrebet abstrakt datatype (ADT) og beskriver den abstrakte<br />
datatype sekvens eller (ordnet) liste.<br />
Datastrukturer<br />
En datastruktur er en systematisk måde at organisere en mængde af data på. Datastrukturer kan<br />
være persistente, dvs. lagret på disk eller interne, dvs. lagret i memory. Vi betragter her kun<br />
interne datastrukturer. Endvidere skelner man mellem statiske og dynamiske datastrukturer. En<br />
statisk datastruktur har en fast størrelse under hele programafviklingen, mens en dynamisk<br />
datastruktur kan ændre størrelse efter behov under programudførelsen.<br />
En datastruktur er en fysisk organisering af en datamængde.<br />
Klassiske datastrukturer er bl.a.:<br />
• Array <strong>–</strong> statisk<br />
• Kædet liste <strong>–</strong> dynamisk<br />
• Træstruktur <strong>–</strong> oftest dynamisk<br />
• Hashtabel <strong>–</strong> kan være statisk eller dynamisk<br />
Vi ser i første omgang kun på arrays. Et array er et sammenhængende segment af memory, hvor<br />
elementerne er indekserede, dvs. kan tilgås udfra deres position. Elementerne er af samme type.<br />
Datastrukturer har brug for en række algoritmer til indsættelse, sletning, søgning af data. En<br />
datastruktur samt algoritmer til at operere på dataene er en realisering af en abstrakt datatype.<br />
Datatyper<br />
Generelt er en datatype givet ved en værdimængde og et sæt af tilhørende operationer. Endvidere<br />
er der behov for en datastruktur til at repræsentere datatypens værdimængde:<br />
• Værdimængde (Hvilke værdier kan typen indeholde?)<br />
• Operationer (Hvilke operationer er lovlige at udføre på elementer af<br />
datatypen?)<br />
• Datarepræsentation (Hvordan repræsenteres datatypen i hukommelsen)<br />
2/9