SlideShare una empresa de Scribd logo
1 de 24
ARBOLES MULTICAMINOS ESTRUCTURAS DE DATOS
INTRODUCCION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CARACTERISTICAS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJEMPLO ,[object Object],[object Object],[object Object],[object Object],[object Object],P I  L S  X A C D J  K  M  O Q  R T  U Y  Z > P < P < I < L > L < S < X > X Arbol B de  orden 5(4-5) Max:  5 ramas(4 claves) Min: 3 ramas(2 claves)
ESTRUCTURA DE LA PAGINA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],typedef struct{ Generico Claves[2]; Generico Contenido[2]; int nclaves; struct Pagina *izq, *centro, *der; }Pagina; F M
ESTRUCTURA FINAL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],#define MAX 3 typedef struct{ Generico Claves[MAX-1]; struct Pagina *Ramas[MAX]; int nramas; }Pagina; typedef Pagina * ArbolB; Ramas[0], valores menores que Claves[0] Ramas[1], valores menores que Claves[1] Ramas[2], valores menores que Claves[2] Ramas[3], valores  mayores  que Claves[2] F M S 0 1 2 0 1 2 3
OPERACIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
VACIAR Y ESTA VACIO ,[object Object],void AB_Inicializar(ArbolB *raiz){ *raiz = NULL; } bool AB_EstaVacio(ArbolB raiz){ return(raiz == NULL); }
BUSQUEDA ,[object Object],45 79 172 192 233 Buscar 192 Es menor que 45 ? 79 ? 172 ? 18 26 5 9 15 22 24 29 32 48 57 82 126
BUSQUEDA: IMPLEMENTACION Pagina *Buscar(ArbolB A, Generico clave, Generico_fnComparar fn, int *pos){ int i; if(EstaVacio(A)) return NULL; for(i = 0; i < A->nclaves;i++){ if(fn(A->Claves[i], clave)==0){ *pos = i; return(A); } if(fn(clave, A->Claves[i]) < 0) return(Buscar(A->Ramas[i],clave,fn, pos); } return(Buscar(A->Ramas[i],clave,fn,pos); }
RECORRIDOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJEMPLO PREORDEN 45 18 26 79 172 5 9 15 22 24 29 32 48 57 82 126 192 233
PREORDEN: IMPLEMENTACION void ArbolB_PreOrden(ArbolB A, Generico_fnImprimir fn){ int i; if(ArbolB_EstaVacio(A)) return(); for(i = 0; i < A->nclaves;i++){ fn(A->Claves[i]); PreOrden(A->Ramas[i], fn); } PreOrden(A->Ramas[i],fn); }
ALGORITMO DE INSERCION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJEMPLO ,[object Object],[object Object],Clave a Subir:  8 Pagina a Subir: NULL 8 no entra, hay que dividir, creando nueva pagina Clave a Subir:  6 6 Clave a Subir:  21 6 ya no tiene donde subir, se crea nueva raiz y se enlaza paigna a  subir 21 no entra, hay que dividir, creando nueva pagina Subimos clave mediana hasta que entre en alguna pagina Clave a Subir:  11  Clave a Subir:  28  Clave a Subir:  19 Clave a Subir:  16 Clave a Subir:  15 Clave a Subir:  27 Clave a Subir:  27 No entra en la pagina raiz, pues ya esta llena, dividir Clave a Subir:  15 Ya llegamos a la raiz, no hay donde subir, crear nueva raiz y enlazar 15 4 5 6 11 4 5 8 11 8 11 8 9 11 12 8 9 12 21 6 11 12 21 12 14 21 8 9 10 12 14 19 21 12 14 21 28 21 28 6 11 19 4 5 3 12 14 15 17 21 28 32 16 17 12 14 16 17 6 11 15 19 21 26 28 32 21 26 28 32 6 11 19 27 28 32 19 27
CONCLUSION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IMPLEMENTACION void ArbolB_Insertar(ArbolB *A, Generico clave, Generico_fnComparar fn){ ArbolB NuevaRaiz; Pagina *PaginaSubir; Generico ClaveSubir; bool Propagar; Propagar = BuscarDividirOMeter(A,clave,&PaginaSubir, &ClaveSubir); if(Propagar){ NuevaRaiz = NuevaPagina(ClaveSubir); NuevaRaiz->Ramas[0] = *A; NuevaRaiz->Ramas[1] = PaginaSubir; *A = NuevaRaiz; } }
IMPLEMENTACION bool BuscarMeterODividir(ArbolB *A, Generico clave, ArbolB *PaginaSubir,  Generico *ClaveSuribr, Generico_fnComparar fn){ Pagina *PagEncontrada; if(ArbolB_EstaVacio(*A)){  //Rebota la clave y la pagina a subir(NULL)   *PaginaSubir = NULL; *ClaveSubir = clave; return(TRUE); } PagEncontrada = BuscarClaveEnPag(A, clave, &pos, fn); if(PagEncontrada) return FALSE;  //No se permiten claves repetidas //Como no la encontre, bajar por el arbol por la rama adecuada Propagar = BuscarDividiryMeter(A->Ramas[pos],clave,PaginaSubir,ClaveSubir, fn); if(Propagar){  //Si hay que propagar, hay que intentar meter la clave en esta pagina if(A->nclaves < A->orden-1){ MeterClaveEnPagina(A, ClaveASubir, PaginaSubir,pos); return(FALSE); else{ Dividir(A, ClaveSubir, PaginaSuibr, pos); return(TRUE); } } }
ALGORITMO DE ELIMINACION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ELIMINACION DE CLAVE EN HOJA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJEMPLO ,[object Object],45 16 26 5 9 15 18 22 24 Reemplazar por Sucesor 18 Aun hay suf. Claves para eliminar Menos claves de las permitidas, eliminar e informar al padre La raiz decide que puede prestar de los hermanos 15 18 ,[object Object],[object Object],[object Object],[object Object],[object Object],18 15 ,[object Object],[object Object],[object Object],[object Object],45 79 172 48 57 82 126 192 232 29 32 79 172
CONCLUSION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IMPLEMENTACION void ArbolB_Eliminar(ArbolB *A, Generico clave, Generico_fnComparar fn){ ArbolB tmp; bool Propagar; Propagar = BuscarEliminaroFusionar(A,I); if(Propagar){ tmp = A; *A = *A->Ramas[0]; free(tmp); } }
IMPLEMENTACION bool BuscarEliminaroFusionar(ArbolB *A, Generico clave, Generico_fnComparar fn) ArbolB PagEncontrada; ArbolB *sucesor; if(ArbolB_EstaVacio(*A)){  //La clave no existe return(FALSE); } PagEncontrada = BuscarClaveEnPag(*A, I, &pos, ,fn); if(PagEncontrada){  //Si esta en la pagina, eliminar if(ArbolB_EsHoja(*A)){ Remover(*A,pos); return(A->Ramas[pos].nclaves < min); } else{ sucesor = InterCambiarConSucesor(A,pos); Propagar = BuscarEliminaroFusionar(sucesor, clave, fn); } } else  //Si no esta en la pagina, seguir bajando en el arbol por la rama correcta Propagar = BuscarEliminaroFusionar(A->Ramas[pos], I); if(Propagar)  //Si hay que propagar, arreglar la pagina para prestar clave y fusionar if(!EsHoja(A)) && A->Ramas[pos].nclaves < min) return(Arreglar(A, pos )); } }

Más contenido relacionado

Más de Gustavo Salazar Loor (20)

Max Plus Compilar vhdl
Max Plus Compilar vhdlMax Plus Compilar vhdl
Max Plus Compilar vhdl
 
ECUADOR
ECUADORECUADOR
ECUADOR
 
Electronica I Clase07
Electronica I Clase07Electronica I Clase07
Electronica I Clase07
 
Electronica I Clase07
Electronica I Clase07Electronica I Clase07
Electronica I Clase07
 
Electronica I Clase06
Electronica I Clase06Electronica I Clase06
Electronica I Clase06
 
Electronica I Clase05
Electronica I Clase05Electronica I Clase05
Electronica I Clase05
 
Electronica I Clase04
Electronica I Clase04Electronica I Clase04
Electronica I Clase04
 
Electronica I Clase03
Electronica I Clase03Electronica I Clase03
Electronica I Clase03
 
Electronica I Clase02
Electronica I Clase02Electronica I Clase02
Electronica I Clase02
 
Electronica I Clase01
Electronica I Clase01Electronica I Clase01
Electronica I Clase01
 
TDA
TDATDA
TDA
 
LISTAS ESPECIALES
LISTAS ESPECIALESLISTAS ESPECIALES
LISTAS ESPECIALES
 
LISTAS
LISTASLISTAS
LISTAS
 
GRAFOS
GRAFOSGRAFOS
GRAFOS
 
HEAPS
HEAPSHEAPS
HEAPS
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
COLAS
COLASCOLAS
COLAS
 
PILAS
PILASPILAS
PILAS
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
RESPIRACION Y FERMENTACION
RESPIRACION Y FERMENTACIONRESPIRACION Y FERMENTACION
RESPIRACION Y FERMENTACION
 

Último

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 

Último (20)

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 

ARBOLES MULTICAMINOS

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. BUSQUEDA: IMPLEMENTACION Pagina *Buscar(ArbolB A, Generico clave, Generico_fnComparar fn, int *pos){ int i; if(EstaVacio(A)) return NULL; for(i = 0; i < A->nclaves;i++){ if(fn(A->Claves[i], clave)==0){ *pos = i; return(A); } if(fn(clave, A->Claves[i]) < 0) return(Buscar(A->Ramas[i],clave,fn, pos); } return(Buscar(A->Ramas[i],clave,fn,pos); }
  • 11.
  • 12. EJEMPLO PREORDEN 45 18 26 79 172 5 9 15 22 24 29 32 48 57 82 126 192 233
  • 13. PREORDEN: IMPLEMENTACION void ArbolB_PreOrden(ArbolB A, Generico_fnImprimir fn){ int i; if(ArbolB_EstaVacio(A)) return(); for(i = 0; i < A->nclaves;i++){ fn(A->Claves[i]); PreOrden(A->Ramas[i], fn); } PreOrden(A->Ramas[i],fn); }
  • 14.
  • 15.
  • 16.
  • 17. IMPLEMENTACION void ArbolB_Insertar(ArbolB *A, Generico clave, Generico_fnComparar fn){ ArbolB NuevaRaiz; Pagina *PaginaSubir; Generico ClaveSubir; bool Propagar; Propagar = BuscarDividirOMeter(A,clave,&PaginaSubir, &ClaveSubir); if(Propagar){ NuevaRaiz = NuevaPagina(ClaveSubir); NuevaRaiz->Ramas[0] = *A; NuevaRaiz->Ramas[1] = PaginaSubir; *A = NuevaRaiz; } }
  • 18. IMPLEMENTACION bool BuscarMeterODividir(ArbolB *A, Generico clave, ArbolB *PaginaSubir, Generico *ClaveSuribr, Generico_fnComparar fn){ Pagina *PagEncontrada; if(ArbolB_EstaVacio(*A)){ //Rebota la clave y la pagina a subir(NULL) *PaginaSubir = NULL; *ClaveSubir = clave; return(TRUE); } PagEncontrada = BuscarClaveEnPag(A, clave, &pos, fn); if(PagEncontrada) return FALSE; //No se permiten claves repetidas //Como no la encontre, bajar por el arbol por la rama adecuada Propagar = BuscarDividiryMeter(A->Ramas[pos],clave,PaginaSubir,ClaveSubir, fn); if(Propagar){ //Si hay que propagar, hay que intentar meter la clave en esta pagina if(A->nclaves < A->orden-1){ MeterClaveEnPagina(A, ClaveASubir, PaginaSubir,pos); return(FALSE); else{ Dividir(A, ClaveSubir, PaginaSuibr, pos); return(TRUE); } } }
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. IMPLEMENTACION void ArbolB_Eliminar(ArbolB *A, Generico clave, Generico_fnComparar fn){ ArbolB tmp; bool Propagar; Propagar = BuscarEliminaroFusionar(A,I); if(Propagar){ tmp = A; *A = *A->Ramas[0]; free(tmp); } }
  • 24. IMPLEMENTACION bool BuscarEliminaroFusionar(ArbolB *A, Generico clave, Generico_fnComparar fn) ArbolB PagEncontrada; ArbolB *sucesor; if(ArbolB_EstaVacio(*A)){ //La clave no existe return(FALSE); } PagEncontrada = BuscarClaveEnPag(*A, I, &pos, ,fn); if(PagEncontrada){ //Si esta en la pagina, eliminar if(ArbolB_EsHoja(*A)){ Remover(*A,pos); return(A->Ramas[pos].nclaves < min); } else{ sucesor = InterCambiarConSucesor(A,pos); Propagar = BuscarEliminaroFusionar(sucesor, clave, fn); } } else //Si no esta en la pagina, seguir bajando en el arbol por la rama correcta Propagar = BuscarEliminaroFusionar(A->Ramas[pos], I); if(Propagar) //Si hay que propagar, arreglar la pagina para prestar clave y fusionar if(!EsHoja(A)) && A->Ramas[pos].nclaves < min) return(Arreglar(A, pos )); } }