Red de conocimiento informático - Conocimiento sistemático - Comprensión profunda de los árboles rojo-negros

Comprensión profunda de los árboles rojo-negros

Con 65.438 millones de datos, solo se necesitan más de 30 veces para encontrar el objetivo.

O(h = log2 n)

Ningún camino es el doble de largo que cualquier otro camino.

2. Puntero nulo; ganglio linfático centinela T.nil

Ganglio centinela/ganglio foliar/ganglio externo

Altura negra: a partir de X (excluyendo X y Hojas)

(2) Raíces negras

③(t. nulo) Hojas negras.

(4) Ambos nodos secundarios de un nodo rojo son negros = gt No puedes conectar dos nodos rojos.

(5) En la ruta simple desde cada nodo a todos sus nodos hoja descendientes, el número de nodos negros es el mismo.

El número de capas negras sigue siendo el mismo antes y después del cambio/rotación de color.

Conecta la altura con la altura del negro

Recuerda el pensamiento zurdo

Recuerda el punto 4.

Z: el puntero del nodo insertado, Z finalmente reemplaza la posición de un determinado T.nil

Recuerde rb_transplantation

1. Z

2.y permanece como

(1) z = >y (como máximo) tiene solo 1 hijo (izquierdo o derecho)

(2) El sucesor de z = >; y (como máximo) tiene solo 1 par de hijos.

3.y_original_color registra el color de y antes de que cambie de color.

Y_original_color es negro.

Destruir Rojo y Negro ->Ajuste

4.x apunta al único hijo de y o T.nil

5.y red = gt cuando se elimina y O en movimiento, los atributos rojo y negro permanecen sin cambios.

6. Esto se reduce a dos tipos de eliminación/mover.

Recordar/comprender el diagrama de eliminación/migración

Si Y es negro (solo necesita ser restaurado) - gt; restaurar el parámetro Func del atributo rojo-negro: x fue eliminado .

1. Empuje y negro hacia X, y la X roja o negra original se convierte en roja y negra o doble negra.

El negro extra es para X y no se refleja en el color de X.

2. Elimine el exceso de negro

Deje que el puntero x represente negro adicional.

Negro/x adicional se mueve a lo largo del árbol hasta x == t.root.

O

Color=Rojo

Y x está tachado.

Sin embargo, mantén el puntero W apuntando al hermano de X cuando X es doble negro = gt no somos cero.

Cuando x es el hijo correcto, la gráfica se dibuja simétricamente.