Sección DSAMedio

Árbol AVL

Guía detallada e implementación Python para el problema del 'Árbol AVL'.

Declaración del problema

Medio

Escriba una función is_avl_balanced(tree_arr) que tome una representación de matriz de un árbol binario tree_arr y devuelva True si el árbol tiene una altura equilibrada (para cada nodo, la altura de sus subárboles izquierdo y derecho difiere en 1 como máximo) y es un BST válido, o False en caso contrario.

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

Ejemplos

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?
Considere la posibilidad de utilizar estructuras de datos específicas de Trees, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el editor
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

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.