Hi,
ich soll eine perfekte Skipliste zeichnen, die Aufgabe dazu lautet wie folgt:
"Fügen Sie nacheinander die folgenden Werte in eine anfangs leere, perfekte Skip-Liste ein. Zeichnen Sie die Skip-Liste nach jedem Einfügevorgang. Werte: 5, 20, 30, 2, 25, 26, 31, 27."
Nun brauche ich Hilfe beim Zeichnen dieser perfekten Skipliste, ich weiß, dass jedes zweite Element in einer zweiten Liste abgespeichert wird... und jedes zweite Element hat einen zusätzlichen Zeiger.
Also der Anfang ist ja leicht gemacht:
Head 5 ------> Tail
Wenn ich jetzt die 20 einfüge...
Wird sie dann in einer seperaten Liste angelegt oder erstmal noch in die eine Liste?
Es würde ja keinen Sinn machen, die in einer zweiten Liste anzulegen, dann könnte ja jeder Wert eine eigene Liste haben...
Also denke ich mal es kommt ebenfalls in die erste Liste:
Head 5--->20---> Tail
oder bekommt die 20 hier direkt einen zweiten Zeiger?
Head ----->20---->Tail
Head 5---->20---->Tail
dann wird Wert 30 eingefügt:
Head 5--->20--->30
Jetzt wird meiner Meinung nach eine neue Liste angelegt...
Head ---5------>30->Tail
Head 2--5-->20--30-> Tail
Oder gibt es da eine Vorschrift wann und wie man das aufteilt? Hoffe ihr könnt mir helfen!
Danke
ich soll eine perfekte Skipliste zeichnen, die Aufgabe dazu lautet wie folgt:
"Fügen Sie nacheinander die folgenden Werte in eine anfangs leere, perfekte Skip-Liste ein. Zeichnen Sie die Skip-Liste nach jedem Einfügevorgang. Werte: 5, 20, 30, 2, 25, 26, 31, 27."
Nun brauche ich Hilfe beim Zeichnen dieser perfekten Skipliste, ich weiß, dass jedes zweite Element in einer zweiten Liste abgespeichert wird... und jedes zweite Element hat einen zusätzlichen Zeiger.
Also der Anfang ist ja leicht gemacht:
Head 5 ------> Tail
Wenn ich jetzt die 20 einfüge...
Wird sie dann in einer seperaten Liste angelegt oder erstmal noch in die eine Liste?
Es würde ja keinen Sinn machen, die in einer zweiten Liste anzulegen, dann könnte ja jeder Wert eine eigene Liste haben...
Also denke ich mal es kommt ebenfalls in die erste Liste:
Head 5--->20---> Tail
oder bekommt die 20 hier direkt einen zweiten Zeiger?
Head ----->20---->Tail
Head 5---->20---->Tail
dann wird Wert 30 eingefügt:
Head 5--->20--->30
Jetzt wird meiner Meinung nach eine neue Liste angelegt...
Head ---5------>30->Tail
Head 2--5-->20--30-> Tail
Oder gibt es da eine Vorschrift wann und wie man das aufteilt? Hoffe ihr könnt mir helfen!