AVL/ABB vs listas para implementaciones no acotadas

AVL/ABB vs listas para implementaciones no acotadas

de Rafael Agustin Castelli Ottati -
Número de respuestas: 1

Buenas, tengo la siguiente duda :

Se menciono en el teorico que los AVL/ABB no eran muy recomendables respecto a las listas para implementar colas de prioriad.

Entendi que esto era porque en un AVL las inserciones y los borrados/busquedas de minimos eran logaritmicos, mientras que en el caso de las listas (ordenadas) la insercion es O(n) pero las busquedas/borrados son O(1). Sin embargo, para n suficientemente grande, y suponiendo que la cantidad de borrados y consultas es proporcional al numero de inserciones (como en el algoritmo para caminos mas cortos de la tarea) (o en una aplicacion donde los elementos se insertan y se reueven exactamente una vez), no termina siendo mas rapido hacer todo en orden logaritmico que hacer algunas cosas en lineal y otras constante?

Ademas que otra implementacion "buena" hay ademas de una lista ordenada (o no ordenada)  hay para colas de prioridad no acotadas? Entre la lista ordenada y no ordenada cual es preferible?

En respuesta a Rafael Agustin Castelli Ottati

Re: AVL/ABB vs listas para implementaciones no acotadas

de Carlos Luna -

Hola.

En un AVL las operaciones referidas son O(lo n) peor caso. En un ABB lo son en el caso promedio (peor caso O(n)).

En listas no ordenadas la inserción es O(1) pero las selectoras son O(n). Si la lista está ordenada las selectoras son O(1) pero la inserción es O(n).

En cualquier caso se puede llevar un puntero al de orden prioritario pero esto no permite borrar en O(1).

Saludos Carlos