You are on page 1of 20

. concretamente es un ÁRBOL BINARIO DE BÚSQUEDA EQUILIBRADO.Un árbol rojo -negro es un tipo abstracto de datos (TAD o TDA) es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo.

La estructura original fue creada por Rudolf Bayer en 1972 .

.

Guibas y Robert Sedgewick realizado en 1978.que le dio el nombre de “árboles-B binarios simétricos”. pero tomó su nombre moderno en un trabajo de Leo J. .

.

. El tiempo de desplazarse desde la raíz hasta una hoja a través de un árbol equilibrado que tiene la mínima altura posible es de O(log n). como en todos los árboles binarios de búsqueda. es posible moverse ordenadamente a través de los elementos de forma eficiente si hay forma de localizar el padre de cualquier nodo.En los árboles rojo-negro.

ya sea rojo o negro. • El árbol puede recorrerse por cualquier color. • El Nodo contiene un campo extra el cuál se llama color. árboles . Bayer el cuál los llamo simetricos binarios.CARACTERISTICAS • Fueron inventados por R. esto quiere decir que el árbol esta practicamente balanceado. • Los recorridos mas largos varian a lo mas el doble del mas corto.

• Cada apuntador de Hoja es de color negro.PROPIEDADES • Cada Nodo solo puede tener un solo color ya sea Rojo ó Negro. . • Si el Nodo es Rojo ambos Hijos son negros • Cada camino desde cualquier Nodo hasta una Hoja contiene el mismo número de Nodos negros.

.

sino que además son apreciados para la construcción de bloques en otras estructuras de datos que garantizan un peor caso. No es esto únicamente lo que los hace valiosos en aplicaciones sensibles al tiempo como las aplicaciones en tiempo real.Usos y ventajas Los árboles rojo-negro ofrecen un peor caso con tiempo garantizado para la inserción. muchas estructuras de datos usadas en geometría computacional pueden basarse en árboles rojonegro. Por ejemplo. . el borrado y la búsqueda.

. además del tiempo. donde son una de las estructuras de datos persistentes más comúnmente utilizadas en la construcción de arrays asociativos y conjuntos que pueden retener versiones previas tras mutaciones.Los árboles rojo-negro son particularmente valiosos en programación funcional. La versión persistente del árbol rojo-negro requiere un espacio O(log n) para cada inserción o borrado.

.

.

.

puede ascender por el árbol un nivel en cada iteración Como la altura original del árbol es O(log n).Complejidad En el código del árbol hay un bucle donde la raíz de la propiedad rojonegro que hemos querido devolver a su lugar. hay O(log n) iteraciones. . Así que en general la inserción tiene una complejidad de O(log n). x.