DSA-SektionMittel

AVL-Baum

Detaillierte Anleitung und Python-Implementierung für das „AVL Tree“-Problem.

Problemstellung

Mittel

Schreiben Sie eine Funktion is_avl_balanced(tree_arr), die eine Array-Darstellung eines Binärbaums tree_arr annimmt und True zurückgibt, wenn der Baum höhenausgeglichen ist (für jeden Knoten unterscheidet sich die Höhe seines linken und rechten Teilbaums um höchstens 1) und ein gültiger BST ist, andernfalls False.

Einschränkungen
  • 0 <= len(tree_arr) <= 1000

Beispiele

Example 1
Input
tree_arr = [3, 9, 20, None, None, 15, 7]
Output
True
Explanation

The tree is a valid BST and the depth difference of left/right subtrees of all nodes is at most 1.

Example 2
Input
tree_arr = [1, 2, None, 3, None, None, None, 4]
Output
False
Explanation

The tree is unbalanced because leaf node 4 is at depth 4 while right subtree of node 1 is empty.

Need a Hint?
Erwägen Sie die Verwendung von Trees-spezifischen Datenstrukturen wie Sets oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Im Editor öffnen
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.