37 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Red Black Trees
 | |
| localeTitle: Árboles negros rojos
 | |
| ---
 | |
| ## Árboles negros rojos
 | |
| 
 | |
| Red-Black Tree es un árbol de búsqueda binaria (BST) en el que todos los nodos siguen las siguientes reglas.
 | |
| 
 | |
| 1.  Cada nodo tiene dos hijos, de color rojo o negro.
 | |
| 2.  Cada nodo de la hoja del árbol es siempre negro.
 | |
| 3.  Cada nodo rojo tiene sus dos hijos de color negro.
 | |
| 4.  No hay dos nodos rojos adyacentes (Un nodo rojo no puede tener un padre rojo o un hijo rojo).
 | |
| 5.  Cada ruta desde la raíz a un nodo de hoja de árbol tiene el mismo número de nodos negros (llamado "altura negra").
 | |
| 
 | |
| Estilo de referencia: 
 | |
| 
 | |
| ### ¿Por qué los árboles rojo-negro?
 | |
| 
 | |
| La mayoría de las operaciones BST (p. Ej., Search, max, min, insert, delete .. etc) toman O (h) tiempo donde h es la altura del BST. El costo de estas operaciones puede convertirse en O (n) para un árbol binario sesgado. Si nos aseguramos de que la altura del árbol permanezca en O (Logn) después de cada inserción y eliminación, podemos garantizar un límite superior de O (Logn) para todas estas operaciones. La altura de un árbol Negro Rojo es siempre O (Logn) donde n es el número de nodos en el árbol.
 | |
| 
 | |
| ### Comparación con AVL Tree
 | |
| 
 | |
| Los árboles AVL son más equilibrados en comparación con los árboles rojos y negros, pero pueden causar más rotaciones durante la inserción y eliminación. Entonces, si su aplicación involucra muchas inserciones y eliminaciones frecuentes, entonces se deben preferir los árboles Rojo Negro. Y si las inserciones y eliminaciones son menos frecuentes y la búsqueda es más frecuente, entonces se debe preferir el árbol AVL sobre el Árbol Negro Rojo.
 | |
| 
 | |
| ### Árbol inclinado a la izquierda rojo-negro
 | |
| 
 | |
| Un árbol rojo-negro (LLRB) que se inclina hacia la izquierda es un tipo de árbol de búsqueda binaria con equilibrio automático. Es una variante del árbol rojo-negro y garantiza la misma complejidad asintótica para las operaciones, pero está diseñado para ser más fácil de implementar.
 | |
| 
 | |
| ### Propiedades de los árboles inclinados a la izquierda rojo-negro
 | |
| 
 | |
| Todos los algoritmos de árbol rojo-negro que se han propuesto se caracterizan por un tiempo de búsqueda en el peor de los casos limitado por un pequeño múltiplo constante del registro N en un árbol de N teclas, y el comportamiento observado en la práctica es típicamente el mismo múltiplo más rápido que el peor de los casos, cercano a los nodos N de registro óptimos examinados que se observarían en un árbol perfectamente equilibrado.
 | |
| 
 | |
| Específicamente, en un árbol 2-3 rojo-negro inclinado a la izquierda construido a partir de N teclas aleatorias: -> Una búsqueda exitosa aleatoria examina log2 N - 0.5 nodos. -> La altura promedio del árbol es de aproximadamente 2 log2 N
 | |
| 
 | |
| #### Más información:
 | |
| 
 | |
| *   [Video de algoritmos y estructuras de datos](https://www.youtube.com/watch?v=2Ae0D6EXBV4) |