Ich lerne AVL-Tree und bekam TLE in rekursivem Code. Mein Tutor schlägt eine iterative Lösung vor. Ich suchte und fand eine Lösung, die Elternknoten in Kind speichert. Ich frage mich, ob dies ein Problem im Gedächtnis bekommen könnte, oder? Und gibt es eine andere Möglichkeit, in AVL Tree einzufügen, löschen, was nicht in übergeordnete untergeordnete gespeichert werden muss? Bitte gib mir einen Hinweis.AVL-Baum nicht rekursiv
1
A
Antwort
2
Es gibt mehrere Möglichkeiten bei der Umsetzung von AVL-Bäume: - Rekursion oder iterativen - Öffnungsausgleichsfaktor (Höhe der rechten minuser Höhe von links) oder Höhe - Öffnungsmutter Referenz oder nicht
rekursive mit Höhe neigt dazu, Geben Sie die eleganteste Lösung, aber iterativ kann in einigen Fällen besser sein, also ist es eine Überlegung wert. Sie können über die Auswahl lesen: http://www.eternallyconfuzzled.com/tuts/datastructures/jsw_tut_avl.aspx und sehen eine iterative Implementierung in Java: https://github.com/dmcmanam/bbst-showdown
Verwandte Themen
- 1. Rekursiv faktoriell nicht zu verstehen
- 2. Javascript Heaps Algorithmus (nicht rekursiv)
- 3. Beautifulsoup: findAll rekursiv funktioniert nicht
- 4. Wie `git hinzufügen` nicht rekursiv?
- 5. nicht rekursiv von Perl während
- 6. Wie rekursiv in Django rekursiv abfragen?
- 7. Logging rekursiv
- 8. React.Children.map rekursiv?
- 9. Dateisuche rekursiv
- 10. Wie wird ein ImportError nicht rekursiv abgefangen?
- 11. jQuery Deep Clone ist nicht rekursiv
- 12. String-Permutationen in Java (nicht-rekursiv)
- 13. Untergeordnete Ordner kann nicht rekursiv aufgerufen werden
- 14. Wie wird diese Funktion nicht rekursiv gemacht?
- 15. Verzeichnis rekursiv löschen java funktioniert nicht
- 16. Kann Ordner nicht rekursiv in SourceOffsite einchecken
- 17. Yii2 ArrayHelper :: ToArray funktioniert nicht rekursiv
- 18. Selbstnachricht (nicht rekursiv) vs selbst rekursive Nachricht
- 19. scrapy-splash kriecht nicht rekursiv mit CrawlerSpider
- 20. Kann React-Komponente nicht rekursiv aufrufen
- 21. beenden rekursiv aufgerufen
- 22. Rekursiv Listen aufbauen
- 23. Rekursiv platzierte Komponenten, die
- 24. Programmatisch rekursiv Verzeichnis erstellen
- 25. Scratch online - Rekursiv - Fakultät
- 26. BOOST: rekursiv shared_mutex?
- 27. Objekteigenschaften rekursiv hinzufügen
- 28. Bubble Sort rekursiv
- 29. Python: rekursiv ändern Strings
- 30. 's3cmd sync' synchronisiert nur Dateien, rekursiv nicht rekursiv (FreeBSD py-s3cmd)