SlideShare una empresa de Scribd logo
ARBOLES ESTRUCTURAS DE DATOS www.espol.edu.ec www.fiec.espol.edu.ec
INTRODUCCION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CONCEPTO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],A es Padre B y C hijos de A: hermanos B es Padre D, E, F hijos de B A B D E C F B D E F
TERMINOLOGIA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TDA ARBOL : DEFINICION INFORMAL ,[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]
TDA ARBOL: DEFINICION FORMAL ,[object Object],[object Object],[object Object]
ARBOLES BINARIOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sub. Izq. Sub. Der. A B C D A B C D E H I F G J RAIZ
DEFINICIONES RECURSIVAS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Caso Básico Un árbol con un solo nodo tiene nivel 1 Caso Recursivo Si tiene mas de un nodo, el nivel es: 1 + MAX(Nivel(SubIzq), Nivel(SubDer)) S. izq. Nivel 1 S. der. Nivel 1 Nivel Del Arbol: 2 SUB. IZQ. Nivel = 1 + Max(0, Sub.Izq ) SUB. DER. Nivel 1 SUB. IZQ. Nivel = 1 + Max(0, Sub.Izq. ) SUB. DER.. Nivel = 1 NIVEL : 1 + MAX(S.IZQ, S.DER) NIVEL : 1 + MAX(3, 1) NIVEL : 4 SUB. IZQ. Nivel = 3   A nivel 1 A B C SUB. IZQ. Nivel = 1 + Max(0, 1 ) A B C D E SUB. IZQ. Nivel = 1 + Max(0, 2 )
ARBOLES BINARIOS LLENOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ARBOLES BINARIOS COMPLETOS ,[object Object],[object Object],[object Object],[object Object]
OTROS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RECORRIDOS DE UN A.B. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJEMPLO PREORDEN G G-D G-D-B G-D-B-A G-D-B-A-C G-D-B-A-C-E G-D-B-A-C-E-F G-D-B-A-C-E-F-K G-D-B-A-C-E-F-K-H G-D-B-A-C-E-F-K-H-J G-D-B-A-C-E-F-K-H-J-I G-D-B-A-C-E-F-K-H-J-I-M G-D-B-A-C-E-F-K-H-J-I-M-L 1. Visitar raiz 2. Preorden al Subarbol Izq. 3. Preorden al Subarbol Der. G D K B E H M A C F J I L G 1 D 2 B 3 A 4 C 5 E 6 F 7 K 8 H 9 J 10 I 11 M 12 L 13
AB y NODOAB: DEFINICION FORMAL ,[object Object],[object Object],[object Object],[object Object],[object Object]
AB Y NODOAB: DECLARACION ,[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],typedef struct NodoAB *AB;
NODOAB : OPERACIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
NODOAB: MAS OPERACIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AB: CREAR NODO HOJA ,[object Object],NodoAB *NuevaHoja(Generico G){ NodoAB *nuevo; nuevo = (NodoAB *)malloc(sizeof(NodoAB)); nuevo->G = G; nuevo->izq = NULL; nuevo->der= NULL; return nuevo; }
AB: OPERACIONES ,[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]
AB: INSTANCIANDO Y CREANDO ,[object Object],void AB_Vaciar(AB *A){ *A = NULL; } ,[object Object],[object Object],[object Object],[object Object],AB A; AB_Vaciar(&A); A = NodoAB_CrearHoja(Generico_CrearEntero(1)); 1 A
RECORRIDOS: IMPLEMENTACION ,[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],[object Object]
OPERACION ENORDEN void AB_EnOrden(AB A, Generico_fnImprimir imprimir){ if(!AB_EstaVacio(A)){ AB_EnOrden(A->izq,imprimir);   imprimir (A->G); AB_EnOrden(A->der,imprimir); } } Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar A B C D E F G D 1 B 2 E 3 A 4 F 5 C 6 G 7
APLICACIÓN: EVALUACION DE EXPRESIONES  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ARBOL DE EXPRESION ,[object Object],[object Object],[object Object],[object Object],[object Object],(a+b)*c + a b + a b c *
EJERCICIO EN CLASE ,[object Object],[object Object],[object Object],+ a * b - + c d
EVALUAR UNA EXPRESION ARTIMETICA EN INFIJA ,[object Object],[object Object],[object Object],[object Object],[object Object]
CREAR UN ARBOL DE EXPRESION ,[object Object],[object Object],[object Object],[object Object],[object Object],A*B-C*D+H AB*CD*-H+ A B * B A C D * D C - H + H * D C * B A - * D C * B A
EVALUACION DE LA EXP. POSTFIJA ,[object Object],[object Object],[object Object],Para evaluar el arbol: Si el arbol tiene un solo nodo  y este almacena un operando El resultado de la evaluacion es el valor de ese  operando Si no 1. Res1 = Evaluo subarbol izquierdo 2. Res2 = Evaluo subarbol derecho 3. Recupero la info de la raiz y efectuo la operación alli indicada, entre Res1 y Res2 A A y B A * B (A * B) y C (A * B) y C y D (A * B) y (C*D) (A * B) - (C*D) (A * B) - (C*D) y H (A * B) - (C*D) + H + - * D C * B A H
ARBOL BINARIO DE BUSQUEDA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<> 30 41 75 55 4 85 <> 4 5 9 6
TDA ABB: DEFINICION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<abb>::= NULL | <abb_nodo> <abb_nodo>::=<clave>+<contenido>+<izq>+<der> <izq>::=<abb> <der>::=<abb> <clave>::<<dato>>|{<<dato>>} <contenido>::<<dato>>|{<<dato>>} typedef struct ABB_Nodo{ Generico clave, G; ABB_Nodo *izq, *der; }ABB_Nodo;
CREAR CON CLAVE ,[object Object],[object Object],[object Object],NodoAB *NuevaHoja(Generico clave, Generico contenido){ NodoArbol *nuevo; nuevo = malloc(sizeof(NodoArbol)); nuevo->clave = clave; nuevo->G = contenido; nuevo->izq = NULL; nuevo->der= NULL; return nuevo; }
CREACION DE UN ABB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],8 3 1 20 10 5 4
EJERCICIO EN CLASE ,[object Object],[object Object]
BUSQUEDA DE UN NODO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Buscar(raiz,5) 5 5 Buscar(raiz,25) No existe 8 3 1 20 10 5 4
IMPLEMENTACION DE LA BUSQUEDA NodoABB *ABB_Buscar(ABB A, Generico clave, Generico_fnComparar comp){ if(ABB_EstaVacio(A)) return NULL; if(f(clave,  A->clave ) == 0) return A; if(f(clave, A->clave) > 0)) return ABB_Buscar(A->der, clave, comp); else return ABB_Buscar(A->izq, clave, comp); }
INSERCION DE UN NODO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Insertar(raiz,15) 15>8…der 15<20…izq 15>10…der Insertar aqui 15 8 3 1 20 10 5 4
IMPLEMENTACION DE LA INSERCION bool ABB_Insertar(ABB *A, NodoABB *nuevo, Generico_fnComparar f){ if(!ABB_EstaVacio(*A)){ if(f(nuevo->clave, (*A)->clave) >0) ABB_Insertar((*A)->der, nuevo,f); else if (f(nuevo->clave, (*A)->clave) <0) ABB_Insertar((*A)->izq,nuevo,f); else return FALSE; } else{ //Si esta vacio, alli insertar *A = nuevo; } return TRUE; }
ELIMINACION DE UN NODO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Eliminar(raiz,34) 34 nmayor 28 28 34 18 6 90 28 25 20 100
SACAR NODO: CODIGO NodoABB *ABB_SacarNodoxContenido(ABB *A, Generico clave,  Generico_fnComparar fn){ NodoABB *p, *tmp = *A; if(ABB_EstaVacio(*A)) return NULL; if(fn((*A)->clave, clave) < 0) return(ABB_SacarNodoxContenido(&(*A)->der, clave, fn)); else if(fn((*A)->clave, clave) >0) return(ABB_SacarNodoxContenido(&(*A)->izq, clave, fn)); if((*A)->der == NULL) (*A) = (*A)->izq; else if((*A)->izq == NULL) (*A) = (*A)->der; else tmp = ABB_SacarRaiz(A); return tmp; }

Más contenido relacionado

La actualidad más candente

Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
Pablo Andres M
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
Oscar Mora
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
José Antonio Sandoval Acosta
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
José Antonio Sandoval Acosta
 
Doubly linked list
Doubly linked listDoubly linked list
Doubly linked list
chauhankapil
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
neftali omar peña balam
 
Los arboles presentacion
Los arboles presentacion Los arboles presentacion
Los arboles presentacion
Ivan Lovera
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
Angel Vázquez Patiño
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de Grafos
Sandra Biondi
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
karlalopezbello
 
Binary tree
Binary tree Binary tree
Binary tree
Rajendran
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
José Antonio Sandoval Acosta
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)edopaz
 
Trees
TreesTrees
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
Kaneki04
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
Noel E Jimenez
 

La actualidad más candente (20)

Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Doubly linked list
Doubly linked listDoubly linked list
Doubly linked list
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Los arboles presentacion
Los arboles presentacion Los arboles presentacion
Los arboles presentacion
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de Grafos
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Binary tree
Binary tree Binary tree
Binary tree
 
Arboles
ArbolesArboles
Arboles
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Arboles multicamino
Arboles  multicaminoArboles  multicamino
Arboles multicamino
 
Trees
TreesTrees
Trees
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 

Destacado

Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretasguest553c2e
 
Actividad#7,Arboles subgrupo #1
Actividad#7,Arboles subgrupo #1Actividad#7,Arboles subgrupo #1
Actividad#7,Arboles subgrupo #1
Joshua Castro
 
Teoría de árboles
Teoría de árbolesTeoría de árboles
Teoría de árboles
Sofía Morales Cascante
 
Matematica discretas presentación inicial
Matematica discretas  presentación inicialMatematica discretas  presentación inicial
Matematica discretas presentación inicial
Jairo Galeas
 
Arboles teoria 1
Arboles teoria 1Arboles teoria 1
Arboles teoria 1
RBonvicino
 
Matemática Discreta y Lógica/Fanjul Roberto
Matemática Discreta y Lógica/Fanjul RobertoMatemática Discreta y Lógica/Fanjul Roberto
Matemática Discreta y Lógica/Fanjul Roberto
Biblioteca Central FACET
 
Matematica discreta diapositivas nº 1
Matematica discreta   diapositivas nº 1Matematica discreta   diapositivas nº 1
Matematica discreta diapositivas nº 1
Grabiel Alvarez
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
nukeeHE
 
Teoría de decisión
Teoría de decisiónTeoría de decisión
Teoría de decisión
Gabriel Pujol
 
Presentacion Proyecto Grupo Nro 02
Presentacion Proyecto Grupo Nro 02Presentacion Proyecto Grupo Nro 02
Presentacion Proyecto Grupo Nro 02matediscretas
 
Matematica discreta2011 unidad3_2ºparte_2011
Matematica discreta2011 unidad3_2ºparte_2011Matematica discreta2011 unidad3_2ºparte_2011
Matematica discreta2011 unidad3_2ºparte_2011
gmromano
 
17 Introduccion Arboles
17 Introduccion Arboles17 Introduccion Arboles
17 Introduccion ArbolesUVM
 
Actividad Teoría de Árboles.
Actividad Teoría de Árboles.Actividad Teoría de Árboles.
Actividad Teoría de Árboles.
Gabriela Guerrero Jimenez
 
Matematica Discreta
Matematica DiscretaMatematica Discreta
Matematica Discreta
frodosini
 

Destacado (20)

Apuntes De Matematicas Discretas
Apuntes De Matematicas DiscretasApuntes De Matematicas Discretas
Apuntes De Matematicas Discretas
 
Actividad#7,Arboles subgrupo #1
Actividad#7,Arboles subgrupo #1Actividad#7,Arboles subgrupo #1
Actividad#7,Arboles subgrupo #1
 
Proyecto matediscreta
Proyecto matediscretaProyecto matediscreta
Proyecto matediscreta
 
Teoría de árboles
Teoría de árbolesTeoría de árboles
Teoría de árboles
 
Arboles
ArbolesArboles
Arboles
 
Matematica discretas presentación inicial
Matematica discretas  presentación inicialMatematica discretas  presentación inicial
Matematica discretas presentación inicial
 
Arboles teoria 1
Arboles teoria 1Arboles teoria 1
Arboles teoria 1
 
Relaciones binarias aux
Relaciones binarias auxRelaciones binarias aux
Relaciones binarias aux
 
Matemática Discreta y Lógica/Fanjul Roberto
Matemática Discreta y Lógica/Fanjul RobertoMatemática Discreta y Lógica/Fanjul Roberto
Matemática Discreta y Lógica/Fanjul Roberto
 
Matematica discreta diapositivas nº 1
Matematica discreta   diapositivas nº 1Matematica discreta   diapositivas nº 1
Matematica discreta diapositivas nº 1
 
Arboles con raiz
Arboles con raizArboles con raiz
Arboles con raiz
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Teoría de decisión
Teoría de decisiónTeoría de decisión
Teoría de decisión
 
Presentacion Proyecto Grupo Nro 02
Presentacion Proyecto Grupo Nro 02Presentacion Proyecto Grupo Nro 02
Presentacion Proyecto Grupo Nro 02
 
Matematica discreta2011 unidad3_2ºparte_2011
Matematica discreta2011 unidad3_2ºparte_2011Matematica discreta2011 unidad3_2ºparte_2011
Matematica discreta2011 unidad3_2ºparte_2011
 
Arboles de expresion
Arboles de expresionArboles de expresion
Arboles de expresion
 
17 Introduccion Arboles
17 Introduccion Arboles17 Introduccion Arboles
17 Introduccion Arboles
 
Arboles
ArbolesArboles
Arboles
 
Actividad Teoría de Árboles.
Actividad Teoría de Árboles.Actividad Teoría de Árboles.
Actividad Teoría de Árboles.
 
Matematica Discreta
Matematica DiscretaMatematica Discreta
Matematica Discreta
 

Similar a Arboles

12. Arboles.ppt
12. Arboles.ppt12. Arboles.ppt
12. Arboles.ppt
DEMSSHILLLEONELCOUTI
 
Arboles
ArbolesArboles
04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles04 curso-prope-py ed-arboles
04 curso-prope-py ed-arbolesAarón Jiménez
 
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptxCap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
ga329963
 
Arboles
ArbolesArboles
ArbolesUTCH
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructurasVana Cigarroa
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructurasVana Cigarroa
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binariosfavi_hola
 
Arboles ppt
Arboles pptArboles ppt
Arboles pptINFOP
 
tema4.pdf
tema4.pdftema4.pdf
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arbolesrafyel2000
 
Árboles Binarios
Árboles BinariosÁrboles Binarios
Árboles Binarios
ElmerPichiy
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
DARKGIRL93
 
Programacion estructura de arboles en c
Programacion estructura de arboles en cProgramacion estructura de arboles en c
Programacion estructura de arboles en cJessica Suarez
 

Similar a Arboles (20)

Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
12. Arboles.ppt
12. Arboles.ppt12. Arboles.ppt
12. Arboles.ppt
 
Arboles02
Arboles02Arboles02
Arboles02
 
Arboles
ArbolesArboles
Arboles
 
04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptxCap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
Cap6ARBOLESeeeeeeeeeeeeeeeeeeeeeeee.pptx
 
Arboles
ArbolesArboles
Arboles
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Trees dts
Trees dtsTrees dts
Trees dts
 
Arboles
Arboles Arboles
Arboles
 
Arboles ppt
Arboles pptArboles ppt
Arboles ppt
 
tema4.pdf
tema4.pdftema4.pdf
tema4.pdf
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arboles
 
Árboles Binarios
Árboles BinariosÁrboles Binarios
Árboles Binarios
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Programacion estructura de arboles en c
Programacion estructura de arboles en cProgramacion estructura de arboles en c
Programacion estructura de arboles en c
 

Más de Johanna Toledo Morillo (19)

Logica Juridica
Logica JuridicaLogica Juridica
Logica Juridica
 
Contrato Ocasional
Contrato OcasionalContrato Ocasional
Contrato Ocasional
 
Rodrigo Borja Cevallos
Rodrigo Borja CevallosRodrigo Borja Cevallos
Rodrigo Borja Cevallos
 
Ventajas De La ComunicacióN
Ventajas De La ComunicacióNVentajas De La ComunicacióN
Ventajas De La ComunicacióN
 
Niveles De La ComunicacióN Oral
Niveles De La ComunicacióN OralNiveles De La ComunicacióN Oral
Niveles De La ComunicacióN Oral
 
Comunicacion
ComunicacionComunicacion
Comunicacion
 
Crear vocabulario
Crear vocabularioCrear vocabulario
Crear vocabulario
 
Gran Depresion
Gran DepresionGran Depresion
Gran Depresion
 
Comunicación Oral
Comunicación OralComunicación Oral
Comunicación Oral
 
Comunicaciòn Interpersonal
Comunicaciòn InterpersonalComunicaciòn Interpersonal
Comunicaciòn Interpersonal
 
Comunicación Empresarial
Comunicación EmpresarialComunicación Empresarial
Comunicación Empresarial
 
Grafos 2
Grafos 2Grafos 2
Grafos 2
 
19 Grafos 1
19 Grafos 119 Grafos 1
19 Grafos 1
 
Heaps
HeapsHeaps
Heaps
 
1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
Tipo de Datos
Tipo de DatosTipo de Datos
Tipo de Datos
 
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 BorganizU 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
 
A
AA
A
 

Arboles

  • 1. ARBOLES ESTRUCTURAS DE DATOS www.espol.edu.ec www.fiec.espol.edu.ec
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. EJEMPLO PREORDEN G G-D G-D-B G-D-B-A G-D-B-A-C G-D-B-A-C-E G-D-B-A-C-E-F G-D-B-A-C-E-F-K G-D-B-A-C-E-F-K-H G-D-B-A-C-E-F-K-H-J G-D-B-A-C-E-F-K-H-J-I G-D-B-A-C-E-F-K-H-J-I-M G-D-B-A-C-E-F-K-H-J-I-M-L 1. Visitar raiz 2. Preorden al Subarbol Izq. 3. Preorden al Subarbol Der. G D K B E H M A C F J I L G 1 D 2 B 3 A 4 C 5 E 6 F 7 K 8 H 9 J 10 I 11 M 12 L 13
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. OPERACION ENORDEN void AB_EnOrden(AB A, Generico_fnImprimir imprimir){ if(!AB_EstaVacio(A)){ AB_EnOrden(A->izq,imprimir); imprimir (A->G); AB_EnOrden(A->der,imprimir); } } Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar Arbol Vacio!, Terminar A B C D E F G D 1 B 2 E 3 A 4 F 5 C 6 G 7
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. IMPLEMENTACION DE LA BUSQUEDA NodoABB *ABB_Buscar(ABB A, Generico clave, Generico_fnComparar comp){ if(ABB_EstaVacio(A)) return NULL; if(f(clave, A->clave ) == 0) return A; if(f(clave, A->clave) > 0)) return ABB_Buscar(A->der, clave, comp); else return ABB_Buscar(A->izq, clave, comp); }
  • 36.
  • 37. IMPLEMENTACION DE LA INSERCION bool ABB_Insertar(ABB *A, NodoABB *nuevo, Generico_fnComparar f){ if(!ABB_EstaVacio(*A)){ if(f(nuevo->clave, (*A)->clave) >0) ABB_Insertar((*A)->der, nuevo,f); else if (f(nuevo->clave, (*A)->clave) <0) ABB_Insertar((*A)->izq,nuevo,f); else return FALSE; } else{ //Si esta vacio, alli insertar *A = nuevo; } return TRUE; }
  • 38.
  • 39. SACAR NODO: CODIGO NodoABB *ABB_SacarNodoxContenido(ABB *A, Generico clave, Generico_fnComparar fn){ NodoABB *p, *tmp = *A; if(ABB_EstaVacio(*A)) return NULL; if(fn((*A)->clave, clave) < 0) return(ABB_SacarNodoxContenido(&(*A)->der, clave, fn)); else if(fn((*A)->clave, clave) >0) return(ABB_SacarNodoxContenido(&(*A)->izq, clave, fn)); if((*A)->der == NULL) (*A) = (*A)->izq; else if((*A)->izq == NULL) (*A) = (*A)->der; else tmp = ABB_SacarRaiz(A); return tmp; }