Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   consulta Arbol B (http://www.forosdelweb.com/f96/consulta-arbol-b-501809/)

usuaria 28/06/2007 21:43

consulta Arbol B
 
esto representa un arbol B


15| | | |
2|4|5|9 16|25|40| |

elimino el 15. y me queda asi: (osea subi el 16-osea el de la derecha)
16| | | |
2|4|5|9 25|40| | |

ahora elimino el 16. para mantener el mismo orden q antes tendria q sacar el 25 (derecha) pero no puedo dejar una sola clave en ese nodo..asi q queria saber como queda el arbol despues de sacar el 16. (porque tengo entendido que tengo q mantener el mismo orden si sube en uno el de la derecha despues me mantengo con eso)

TolaWare 01/07/2007 06:59

Re: consulta Arbol B
 
Cuando eliminas el 16, el árbol queda así:
25| | | |
2|4|5|9 40| | |

En la segunda hoja se produce una insuficiencia.

Existen 2 maneras de solucionar este problema: mediante concatenación de nodos, o mediante redistribución de nodos.

redistribución:
te fijas si algún nodo hermano tiene muchas hojas (de manera que se le pueda quitar alguna), juntás las llaves de los 2 nodos, y la llave que los separa en el nodo padre.
2 4 5 9 25 40

Y por último los volvés a organizar en el árbol:
9| | |
2|4|5| | 25|40| |

Si no tenés espacio, lo que te queda es juntar 2 nodos.


La zona horaria es GMT -6. Ahora son las 00:30.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.