Skip to content

fresh-avocado/AVL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVL

¿Cómo configurar Git Hooks?

# añadirle el permiso de ejecución al shell script
chmod +x ./hooks/configure.sh
# ejecutar el script
./hooks/configure.sh

¿Cómo correrlo?

Logs Off

make prod
./avlprod

Logs On

make debug
./avldebug

Tests

make tests
./avltest

Operaciones soportadas

Operación Complejidad Descripción Notas
findKey O(lg n) Devuelve el key (puntero) si lo encontró, de lo contrario devuelve nullptr
iterativeFindKey O(lg n) Misma funcionalidad que findKey, pero implementado de manera iterativa -
find O(lg n) Devuelve el value (puntero) asociado al key si lo encontró, de lo contrario devuelve nullptr. Es recursivo. -
insert O(lg n) Inserta un key-value pair
iterativeInsert O(lg n) Misma funcionalidad que insert, pero inserta de manera iterativa -
remove O(lg n) Remueve un key-value pair Optimizado para que reemplace con el predecesor o sucesor dependiendo de cuál subárbol tiene menor altura
maximum O(lg n) Devuelve una tupla con el key (de máximo valor) y su value correspondiente (ambos punteros). Si no hay maximum, devuelve una tupla con dos nullptr -
minimum O(lg n) Devuelve una tupla con el key (de mínimo valor) y su value correspondiente (ambos punteros). Si no hay minimum, devuelve una tupla con dos nullptr -
predecessor O(lg n) Devuelve una tupla con el key y su value correspondiente (ambos punteros) del predecesor del key pasado como parámetro, sino devuelve una tupla con dos nullptr -
sucessor O(lg n) Devuelve una tupla con el key y su value correspondiente (ambos punteros) del sucesor del key pasado como parámetro, sino devuelve una tupla con dos nullptr -
inorderString O(n) Retorna un string que tiene todos los keys del AVL en modo inorder -
inorder O(n) Recorre el AVL de manera inorder y recibe un lambda como parámetro para procesar de alguna manera cada key-value -
getRoot O(1) Retorna el valor de la raíz -
clear O(n) Borra todos los nodos en postorder -
getHeight O(1) Devuelve la altura del AVL -