[DSAL] AVL Bäume löschen

[Progra] Programmierung
[DSAL] Datenstrukturen und Algorithmen
[SWT] Softwaretechnik
[DB] Datenbanken und Informationssysteme

AVL Bäume löschen

Beitragvon SimonS » 08.09.11 02:51

Hi,
ich hab mir gerade nochmal das Video zur Vorlesung angeguckt (vielen Dank fürs aufnehmen :wink: ) und ich hab eine Frage zum Löschen von AVL Bäumen.
Auf der Folie (Folie 13 Vorlesung vom 26.4.) stand:

Drei Möglichkeiten beim Löschen:
1. Ein Blatt
2. Kein linkes Kind
3. Es gibt linkes Kind

und es wurde gesagt, dass es nur bei den ersten 2 vorkommen kann, dass rebalanciert werden muss.

Jedoch ist mir spontan das Beispiel eingefallen:

--------------------------- 5
--------------------3 --------------- 7
------------------------4 -------6 ------- 9
-----------------------------------------------10

Das müsste doch noch ein AVL Baum sein, oder?
Ich möchte nun die 5 Löschen. Auf diese trifft doch nur 3tens zu, oder? Sie ist ja kein Blatt und hat ein linkes Kind.
Danach sollte der Baum doch so aussehen, dass ich die 4 anstelle der 5 schreibe und diese lösche:

--------------------------- 4
----------------- 3------------------ 7
---------------------------------6 -------- 9
-------------------------------------------------10

und dieser Baum ist ja kein AVL Baum mehr, wesewgen rebalanciert werden sollte, was aber laut Folien nicht vokommen sollte.

Ich hoffe ihr könnt mich aufklären, wo ich jetzt komplett daneben liege, weil ich nicht davon ausgehe, dass die Folien falsch sind.
mfg Simon
SimonS
 
Beiträge: 9
Registriert: 18.04.10 01:32
Studiengang: Informatik (B.Sc.)
Studiert seit: SS 10

Re: AVL Bäume löschen

Beitragvon Someguy » 08.09.11 12:19

Kurzfassung: Du hast Recht, bei diesem Fall wird natürlich rebalanciert.

Langfassung: Ich sehe gerade auf dem Handout "Nur bei den ersten beiden Fällen ändert sich die Höhe direkt!". Ich weiß grad nicht mehr genau, was in der VL gesagt wurde von Herrn Rossmanith aber es stimmt jedenfalls nicht, falls das so gesagt wurde :roll:
Someguy
 
Beiträge: 55
Registriert: 14.10.10 20:47
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 10/11
Anwendungsfach: Philo


Zurück zu Praktische Informatik