La mayoría del tutorial de Stanford, por ejemplo, printTree o isBST, es idéntico para los árboles AVL, ya que los árboles AVL son realmente solo un caso especial de árboles de búsqueda binarios estándar. No tienen información adicional, pero están restringidos mediante la rotación a la propiedad de que la altura de los subárboles no puede diferir en más de uno.
Podría agregar un problema más para los árboles AVL, que es verificar la propiedad anterior. El código para eso sería una simple modificación de maxDepth.
Si está buscando cómo construir el árbol, puede encontrar un código bastante bueno simplemente buscando en Google. Aquí hay un ejemplo: AvlTree.java. Este código es a la vez breve y descriptivo.
- Cómo crear mi propia función de hash para usar en una tabla de búsqueda
- ¿Es necesario pensar en una solución recursiva primero antes de proceder a resolver un problema de DP?
- ¿Cómo termina una imagen en la página principal de reddit o imgur?
- ¿Debo comenzar a aprender programación de computadoras con CS50 o con un libro de estructuras de datos y algoritmos?
- ¿Qué tipo de algoritmos se usaron en la generación de mapas aleatorios de los mapas de Age of Empires II?
Para visualizar las operaciones paso a paso que se realizan, por ejemplo, rotaciones, vea este applet muy informativo: Binary Search Trees, que también presenta varias otras estructuras de datos similares.