Chalmers | Göteborgs universitet
Data- och informationsteknik

  DIT960 | LP4 | VT2012 Datastrukturer DV[an error occurred while processing this directive]: Lab 3

Warning! This is the 2012 course's website! You probably want the current course website.

Laboration 3. Rödsvarta träd i Haskell

Det här laborationen går ut på att konstruera ett rödsvart träd i Haskell, för att få en jämförelse med hur det ser ut i Java.

Syftet med laborationen är att

Uppgift

Uppgiften är ganska enkel att beskriva. Ni skall definiera och testköra ett rödsvart träd.

Er slutliga kod ska innehålla två filer, RedBlackTree.hs och Main.hs:

Testning

Fundera först ut några enkla testexempel, som tillsammans går igenom samtliga rotationer. Ett förslag är att testa med meningen "The quick brown fox jumps over the lazy dog", eftersom det finns ett "facit" i kursboken.

Det finns en testfil, CheckInsert.hs, som ni kan använda. Det programmet bygger träd från alla möjliga permutationer av listor upp till längd 9. Varje träd testas sedan om det uppfyller invarianterna genom att anropa funktionen checkTree.

Testa sedan mot följande två filer:

Alla filer (både Haskell-skelettfiler och korpusar) kan hämtas som ett stort zip-arkiv.

Dokumentation

De två Haskellfilerna ska lämnas in, välkommenterade som vanligt.