Retroceder   Foros del Web > Temas generales de computación > Programación > C/C++

Respuesta
 
Herramientas Desplegado
Antiguo 28-jun-2007, 21:43   #1 (permalink)
usuaria ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2007
Mensajes: 137
Pregunta 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)
usuaria está desconectado   Responder Citando
Antiguo 01-jul-2007, 06:59   #2 (permalink)
Colaborador
TolaWare tiene algunos puntos positivos de karma
 
Avatar de TolaWare
 
Fecha de Ingreso: julio-2005
Mensajes: 4.253
Enviar un mensaje por MSN a TolaWare
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.
TolaWare está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:49.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93