Section DSAMoyen

Arbre AVL

Guide détaillé et implémentation de Python pour le problème 'AVL Tree'.

Énoncé du problème

Moyen

Écrivez une fonction is_avl_balanced(tree_arr) qui prend une représentation matricielle d'un arbre binaire tree_arr et renvoie True si l'arbre est équilibré en hauteur (pour chaque nœud, la hauteur de ses sous-arbres gauche et droit diffère d'au plus 1) et est un BST valide, ou False sinon.

Contraintes
  • 0 <= len(tree_arr) <= 1000

Exemples

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?
Pensez à utiliser des structures de données spécifiques aux arbres, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.