Algoritmer och datastrukturer TF3 Sy

samt
Algoritmer och datastrukturer med objektorienterad programmering, fristående kurs


Veckouppgift för vecka 10

Ett register till en bok finns lagrad på följande form:

Uppslagsorden i registret finns lagrade i ett binärt sökträd

I varje nod i trädet finns, förutom sökordet, en lista som innehåller sidreferenser för detta sökordet. Listan är sorterad efter sidnummer.

a) Definiera en klass Register som representerar ett register på ett binärt sökträd enligt ovan. Du skall skriva det binära sökträdet som en härledd klass från binära träd och skall utgå ifrån klasserna T_n respektive List i din uppgiftslösning. Du får modifiera List men inte T_n.

I denna deluppgift räcker det med att du anger ett riktigt klasshuvud

. Nedanståernde bild kan vara till hjälp

b) Skriv en metod void Register::satt_in(char*,int), där char* representerar en pekare till ett uppslagsord ch int representerar ett sidnummer. Metoden ska sätta in sidan på rätt ställe i listan på rätt uppslagsord. Om upslagsordet inte redan finns i trädet, ska det skapas.

Du behöver heller ej ta hänsyn till å, ä och ö.

Om du utökar List med nya metoder får du själv välja om du vill använda de redan existerande primitiverna eller skriva din/dina metoder mha pekare. Ledning: Beroende på hur du löser ditt problem kan du eventuellt komma fram till att data-fältet i T_n inte fyller någon funktion i uppgiftslösningen.


Uppgifterna lämnas in enligt anvisningarna i kursplanen
Anders Berglund
Last modified: Mon Jan 29 20:50:56 1996