Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: josue_tux en 7 Junio 2010, 05:19 am



Título: tengo una duda
Publicado por: josue_tux en 7 Junio 2010, 05:19 am
bueno me ha llamado la atencion el temas de arboles en especial los "arboles binarios y los arboles AVL"

Bueno yo se que un arbol binario  es una estructura de datos en la cual cada nodo siempre tiene un hijo izquierdo y un hijo derecho.
Un arbol AVL están siempre equilibrados de tal modo que para todos los nodos, la altura de la rama izquierda no difiere en más de una unidad de la altura de la rama derecha.

bueno mi duda que tengo es " porque muchos programadores aplican a los arboles binarios las operaciones de los arboles AVL"  por ejemplo

por ejemplo: las operaciones de un arbol binario son (mas basicas)
insertar un dato
eliminar un dato
buscar un dato

la de los arboles AVL
las rotaciones:  rotacion a la derecha
                       rotacion a la izquierda

bueno corrijamen si estoy en lo equivocado y si no saquenme de la duda:

yo creo que se aplican  los arboles AVL en los arboles binario para lograr un equilbrio o balanceo y  una mayor eficiencia con respecto a las busquedas debido a que el arbol queda ordenado logrando una eficiencia de ( Log n ) equilibrando

porfavor si alguien me puede aclarar esta duda, le agradeceria.

                       


Título: Re: tengo una duda
Publicado por: satu en 7 Junio 2010, 16:40 pm
Hola  :)
Esto se hace cuando la operación que predomina es la búsqueda, ya que como tú bien dices tiene un coste bajo. En un árbol con muchas inserciones y borrados de datos no interesa un AVL porque los equilibrados tienen un coste alto