¿Cuáles son las ventajas de un árbol de búsqueda binaria sobre un árbol rojo-negro?

Un árbol de búsqueda binario es un árbol donde cada nodo contiene datos y un puntero secundario izquierdo (nodo) y un puntero secundario derecho (nodo). Aunque los datos se pueden insertar en dicho árbol en el orden correcto, no hay garantía de que el árbol resultante esté equilibrado. Por ejemplo, si se insertan datos de una lista ordenada, el árbol resultante no se parecerá en absoluto a un árbol, sino que solo será una larga lista vinculada.

Existen varias variaciones en el árbol de búsqueda binario que aseguran que el árbol permanecerá equilibrado sin importar lo que se inserte o elimine. Un árbol rojo-negro es uno de ellos. Además de la información almacenada en un nodo BST, un nodo de árbol RB incluye una variable de “color” (rojo o negro). Con esta información, un árbol RB se puede reequilibrar después de cada inserción o eliminación.

La desventaja de un árbol RB sobre su versión BST más simple es la codificación adicional y el tiempo extra que se necesita para hacer inserciones o eliminaciones debido a la necesidad de reequilibrar (excepto cuando el BST está seriamente desequilibrado).

More Interesting

¿Cómo es la búsqueda tan rápida por los motores de búsqueda? Generan millones de instrucciones en menos de un segundo. ¿Qué algoritmo usan?

Cómo implementar un algoritmo de equilibrio de carga personalizado aparte del algoritmo Round Robin predeterminado en mi Amazon Elastic Load Balancer usando Java SDK para AWS

¿Hay un libro que enseñe algoritmos del nivel 0 a los algoritmos de codificación?

¿Qué es segmentar segmentado?

Cómo implementar un algoritmo de sincronización de reloj Berkeley en C ++

¿Cuál de los enfoques (conexionismo, evolutivo, bayesiano, etc.) tendrá la mejor oportunidad de desarrollar un algoritmo maestro de IA?

¿Hay algún libro sobre estructuras de datos y algoritmos que tenga estructuras de datos diferentes, su complejidad, sus usos y todas las cosas interesantes sobre ellos?

¿En qué se diferencia la programación dinámica del seguimiento hacia atrás?

¿Por qué conocer estructuras de datos y algoritmos básicos no es suficiente para descifrar la mayoría de las entrevistas técnicas?

¿Cuál es la diferencia entre la mochila y los problemas de Cutting the Rod usando programación dinámica?

La solución de este problema Problema - C - Codeforces es este Ideone.com pero ¿qué está sucediendo dentro con los punteros, especialmente las líneas 27, 28, 36?

¿Cuál es el algoritmo más fácil para encontrar el camino más corto en un robot seguidor de línea para un principiante?

¿Es bueno analizar?

Cómo escribir un algoritmo de la pila de programas usando una matriz en C

¿Cómo funciona la función Rolling Hash utilizada en el algoritmo Rabin Karp?