ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II

Tamaño: px
Comenzar la demostración a partir de la página:

Download "ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II"

Transcripción

1 ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II

2 Contenido Concepto Características y Propiedades Tipos de Arboles 1. Libres 2. Binarios 3. Expansión Mínima Algoritmo de Kruskal Algoritmo Prim Recorrido de Arboles Búsqueda en Arboles

3 ARBOL COMPUTACIONAL Composición: Estructura de datos que imita la forma de un árbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se construye el árbol y puede tener cero o más nodos hijos conectados a él. Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, también decimos que b es hijo de a). Nodo raíz no tiene padres. Hoja o Terminal : Nodo que no tiene hijos. Rama : Nodos (tienen padre y uno o varios hijos).

4 ARBOL COMPUTACIONAL Concepto: Un árbol es un grafo sin ciclos (a cíclico) Es conexo.

5 ARBOL COMPUTACIONAL Es una estructura no lineal de datos homogéneos tal que establece una jerarquía entre sus elementos. Los árboles representan las estructuras no-lineales y dinámicas de datos mas importantes en computación. Dinámicas, puesto que la estructura árbol puede cambiar durante la ejecución de un programa. No-lineales, puesto que a cada elemento del árbol pueden seguirle varios elementos.

6 USO ARBOLES Los árboles se emplean para analizar circuitos eléctricos y para representar la estructura de fórmulas matemáticas, así como para organizar la información de bases de datos. Los árboles genealógicos y los organigramas jerárquicos son ejemplos comunes de árboles. Como ayuda para realizar búsquedas en conjuntos de datos. Organizar y relacionar datos en una BD y otras aplicaciones diversas.

7 Arboles Jerárquicos Ejemplo de Información representada con árboles.

8 REPRESENTACION DE UN ARBOL La representación en forma de Grafo es la que comúnmente se utiliza, y ha originado el termino árbol por su parecido abstracto con el vegetal (raíz, ramas, hojas). Es de notar que en esta representación la raíz se dibuja arriba, aun que en el vegetal se encuentra abajo.

9 REPRESENTACION DE ARBOLES La representación puede realizarse de diferentes formas. Las más utilizadas son: Representar cada nodo como una variable, con punteros a sus hijos y a su padre. Representar el árbol con un array donde cada elemento es un nodo y las relaciones padre-hijo vienen dadas por la posición del nodo en el array.

10 Características y Propiedades de Arboles Nodo : cada uno de los elementos de un árbol. Todo árbol que no es vacío, tiene un único nodo raíz. Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado por el nodo Y. X es hijo de Y. Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y. Todos los nodos que son descendientes directos (hijos) de un mismo nodo (padre), son hermanos. Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de interior. Grado del Nodo: Es el numero de descendientes directos o numero de hijos de un determinado nodo. Así el grado de un nodo hoja es cero.

11 TERMINOLOGIAS DE LOS ARBOLES Raíz - El nodo superior del árbol. Padre - Nodo con hijos. Hijo - Nodo descendiente de otro nodo. Hermanos - Nodos que comparten el mismo padre. Hojas - Nodos sin hijos.

12 TERMINOLOGIAS DE LOS ARBOLES Grado del árbol es el máximo grado de todos los nodos del árbol. Nivel es el numero de arcos que deben ser recorridos para llegar a un determinado nodo. Altura del árbol es el máximo número de niveles de todos los nodos del árbol.

13 TERMINOLOGIAS DE LOS ARBOLES Un subárbol de un árbol es un nodo,junto con todos sus descendientes. Profundidad. La profundidad de un nodo es la longitud del único camino de la raíz a ese nodo Orden de los nodos. Los hijos de un nodo usualmente están ordenados de izquierda a derecha. Si deseamos explícitamente ignorar el orden de los dos hijos, nos referiremos a un árbol como un árbol no-ordenado.

14 Características y Propiedades de Árbol completo de altura a y grado g Arboles El que tiene el máximo número de nodos posible 2 0 = = 2 Ejercicio 1: Cuál es el número máximo de nodos de un árbol de altura 5 y grado 4?

15 Características y Propiedades de Camino de búsqueda interno Arboles Número de nodos que hay que recorrer para encontrar un determinado nodo L media C. I. 1 n n representa el número de nodos del árbol a i 1 n i * i B C D E F G H I Ejercicio 2: Cuál es la longitud media del camino interno del árbol mostrado?

16 Características y Propiedades de A Arboles B C D E F G Antecesor y descendiente H -Un nodo raíz -Todos los nodos son conectados desde un único nodo (nodo padre) -Sólo hay un camino desde el nodo raíz a cada nodo -Los nodos que no tienen hijos son nodos hoja Grado del nodo C? y del árbol?

17 Tipos de Arboles Arboles Libres : No se especifica ninguna Raíz.

18 Tipos de Arboles Árbol de Expansión Mínima Sus aristas tienen peso(valor) y sus vértices están relacionados.

19 Arboles Binarios Árboles Binarios Árbol de búsqueda binario auto-balanceable Árboles AVL Árboles Rojo-Negro Árbol AA Árbol de segmento Árboles Multicamino Árboles B (Árboles de búsqueda multicamino autobalanceados) Árbol-B+ Árbol-B*

20 ARBOLES BINARIOS Estructura de datos no lineal en el cual cada nodo siempre tiene un hijo izquierdo y un hijo derecho. Si algún hijo tiene como referencia a null, es decir que no almacena ningún dato, entonces este es llamado nodo externo. En el caso contrario el hijo es llamado un nodo interno. Usos comunes de los árboles binarios son los árboles binarios de búsqueda, los montículos binarios y Codificación de Huffman. Un árbol binario sencillo de tamaño 9, 4 niveles y altura 3 (altura = máximo nivel - 1), con un nodo raíz cuyo valor es 2.

21 ARBOLES BINARIOS Al igual que en otras estructuras la información que se almacena en todos y cada uno de los árboles, debe ser del mismo tipo para garantizar la integridad y coherencia de la información almacenada.

22 IMPLEMENTACION EN C Un árbol binario puede declararse de varias maneras. Algunas de ellas son: Estructura con manejo de memoria dinámica, siendo el puntero que apunta al árbol de tipo tarbol: typedef struct nodo { int clave; struct nodo *izdo, *dcho; }Nodo; Estructura con arreglo indexado: typedef struct tarbol { int clave; tarbol hizquierdo, hderecho; } tarbol; tarbol árbol[numero_de_nodos];

23 Árboles binarios de búsqueda autobalanceable Un árbol binario de búsqueda auto-balanceable o equilibrado es un árbol de búsqueda Binario que intenta mantener su altura, o el número de niveles de nodos bajo la raíz, tan pequeños como sea posible en todo momento, automáticamente. Las rotaciones internas en árboles binarios son operaciones internas comunes utilizadas para mantener el balance perfecto o casi perfecto del árbol binario. Un árbol balanceado permite operaciones en tiempo logarítmico.

24 Árbol binario de búsqueda auto-balanceable Estructuras de datos populares que implementan este tipo de árbol: ARBOL AVL : Es un tipo especial de árbol binario ideado por los matemáticos rusos Adelson- Velskii y Landis. Fue el primer arbol de busqueda binario autobalanceables que se ideó. árbol binario equilibrado (sí es AVL) árbol binario no equilibrado (no es AVL)

25 Arboles AVL Los árboles AVL están siempre equilibrados de tal modo que para todos los nodos, la altura de la rama izquierda no difiere en más de una unidad de la altura de la rama derecha o viceversa. Cada nodo, además de la información que se pretende almacenar, debe tener los dos punteros a los árboles derecho e izquierdo, igual que los arboles binarios de búsqueda (ABB), y además el dato que controla el factor de equilibrio. El factor de equilibrio es la diferencia entre las alturas del árbol derecho y el izquierdo: FE = altura subárbol derecho - altura subárbol izquierdo; Por definición, para un árbol AVL, este valor debe ser -1, 0 ó 1.

26 Factor de Equilibrio Si el factor de equilibrio de un nodo es: 0 -> el nodo está equilibrado y sus subárboles tienen exactamente la misma altura. 1 -> el nodo está equilibrado y su subárbol derecho es un nivel más alto. -1 -> el nodo está equilibrado y su subárbol izquierdo es un nivel más alto. Si el factor de equilibrio Fe >= 2 es necesario reequilibrar.

27 Árboles Rojo-Negro Un árbol rojo-negro es un árbol binario de búsqueda en el que cada nodo tiene un atributo de color cuyo valor es rojo o negro. En adelante, se dice que un nodo es rojo o negro haciendo referencia a dicho atributo. Todo nodo es o bien rojo o bien negro. La raiz es negra. Todas las hojas (NULL) son negras. Todo nodo rojo debe tener dos nodos hijos negros. Cada camino desde un nodo dado a sus hojas descendientes contiene el mismo número de nodos negros.

28 Árbol Expansión Mínima Es una red conexa y ponderada que se refiere a utilizar los arcos de la red para llegar a todos los nodos de esta, de manera tal que se minimiza la longitud total. El árbol de expansión mínima es apropiado para problemas en los cuales la redundancia es expansiva. El problema surge cuando todos los nodos de una red deben conectarse entre ellos sin formar un ciclo.

29 Árbol Expansión Mínima Aplicación de estos problemas de optimización Redes de comunicación eléctrica, telefónica, carretera, ferroviaria, aérea, marítima, hidráulica o de gas, etc. Los nodos representan puntos de consumo eléctrico, teléfonos, aeropuertos, computadoras y Los arcos podrían ser de alta tensión, cable de fibra óptica, rutas aéreas, agua, gas etc..

30 Arboles de expansión Minimales "Hay que construir una red de cómputo con un acoplamiento vago para un sistema de siete computadores. El objetivo es enlazar todos los computadores minimizando el costo total de la construcción. El grafo G de la figura es un modelo de la situación. Los computadores se representan mediante los vértices del grafo, las aristas representan Líneas de transmisión que se tienen en cuenta para enlazar ciertos pares de computadores.

31 Arboles de Expansión Minimales Asociamos a cada arista e de G un número real positivo p(e), el peso de e. En este ejemplo, el peso de una arista indica el costo previsto para la construcción de esa línea de transmisión particular. Para hacer esto, se necesita un árbol de expansión T, tal que la suma de los pesos de las aristas en T sea mínima. La construcción de dicho árbol de expansión óptimo se puede realizar por medio de los algoritmos de: Joseph Kruskal.y Robert Prim.

32 ARBOLES - LISTAS Las listas tienen posiciones. Los árboles tienen nodos. Las listas tienen un elemento en cada posición. Los árboles tienen una etiqueta en cada nodo. Algunos autores distinguen entre árboles con y sin etiquetas. Un árbol sin etiquetas tiene sentido aunque en la inmensa mayoría de los problemas necesitaremos etiquetar los nodos. Es por ello por lo que a partir de ahora sólo haremos referencia a árboles etiquetados).

33 ARBOL EXPANSION MINIMA ALGORITMO DE KRUSKAL ALGORITMO DE PRIM Codificacion Huffman/Compresion Busqueda Arboles Binarios

34 RECORRIDO ARBOLES Una de las operaciones mas importantes a realizar en un árbol binario es el recorrido de los mismos Recorrer significa visitar los nodos del árbol en forma sistemática, de tal manera que todos los nodos del mismo sean visitados una sola vez. Existen 3 formas diferentes de efectuar el recorrido y todas ellas de naturaleza recursiva, estas son: PREORDEN INORDEN POSORDEN Hay un último recorrido que implementa a estos 3: RECORRIDO POR NIVELES: Este recorrido procesa los nodos comenzando en la raíz y avanzando de forma descendente y de izquierda a derecha

35 RECORRIDO ARBOLES la recursividad nos ayuda a que los procesos se repitan así mismos y sea más fácil su codificación. PREORDEN: En el que se procesa el nodo y después se procesan recursivamente sus hijos. Para recorrer un árbol binario no vacío en preorden, hay que realizar las siguientes operaciones recursivamente en cada nodo, comenzando con el nodo de raíz: 1. Visite la raíz 2.Atraviese el sub-árbol izquierdo 3.Atraviese el sub-árbol derecho Preorden: ABDGEHICFJK

36 RECORRIDO ARBOLES la recursividad nos ayuda a que los procesos se repitan así mismos y sea más fácil su codificación. PREORDEN: En el que se procesa el nodo y después se procesan recursivamente sus hijos. Para recorrer un árbol binario no vacío en preorden, hay que realizar las siguientes operaciones recursivamente en cada nodo, comenzando con el nodo de raíz: 1. Visite la raíz 2.Atraviese el sub-árbol izquierdo 3.Atraviese el sub-árbol derecho Preorden = [15, 9, 6, 14, 13, 20, 17, 64, 26, 72]

37 RECORRIDO ARBOLES ALGORITMO El algoritmo realiza el recorrido preorden en un árbol binario. NODO es un dato de tipo puntero. INFO, IZQ y DER son campos del registro nodo. INFO es una variable de tipo carácter, IZQ y DER son variables de tipo puntero. si NODO NULL entonces Visitar el NODO { Escribir NODO^.INFO} Regresar a PREORDEN con NODO^.IZQ {Llamada recursiva a preorden con la rama izquierda del nodo en cuestión} Regresa a PREORDEN con NODO^.DER {Llamada recursiva a preorden con la rama derecha del nodo en cuestión} Fin del condicional del paso I

38 RECORRIDO ARBOLES

39 RECORRIDO ARBOLES INORDEN: En este se procesa recursivamente el hijo izquierdo, luego se procesa el nodo actual y finalmente se procesa recursivamente el hijo derecho. Para recorrer un árbol binario no vacío en inorden (simétrico), hay que realizar las siguientes operaciones recursivamente en cada nodo: 1.Atraviese el sub-arbol izquierdo 2.Visite la raiz 3.Atraviese el sub-arbol derecho

40 RECORRIDO ARBOLES RECORRIDO INORDEN Inorden = [6, 9, 13, 14, 15, 17, 20, 26, 64, 72].

41 RECORRIDO ARBOLES RECORRIDO POSTORDEN En este caso se trata primero el subárbol izquierdo, después el derecho y por último el nodo actual. Postorden =[6, 13, 14, 9, 17, 26, 72, 64, 20, 15].

42 RECORRIDO ARBOLES void postorden(tarbol *a) { if (a!= NULL) { postorden(a->hizquierdo); postorden(a->hderecho); } } tratar(a); //Realiza una operación en nodo

43 RECORRIDO ARBOLES RECORRIDO POR NIVELES Concluimos implementando el recorrido por niveles. este recorrido procesa los nodos comenzando en la raíz y avanzando en forma descendente y de izquierda a derecha. El nombre se deriva del hecho de que primero visitamos: los nodos del nivel 0 (la raíz), después los del nivel 1 (los hijos de la raíz), los del nivel 2 (los nietos de la raíz), y así sucesivamente.

44 RECORRIDO ARBOLES RECORRIDO POR NIVELES Un recorrido por niveles se implementa usando una cola en lugar de una pila. La cola almacena los nodos que van a ser visitados. Cuando se visita un nodo,se colocan sus hijos al final de la cola, donde serán visitados después de los nodos que ya están en la cola. Es fácil ver que esto garantiza que los nodos se visitan por niveles.

45 RECORRIDO ARBOLES RECORRIDO POR NIVELES El Algoritmo PorNiveles se Muestra a Continuación.. ALGORITMO encolar(raiz); mientras(cola_no_vacia( )) inicio nodo=desencolar(); //Saca un nodo de la cola //Realiza una operación en nodo fin; visitar(nodo); encolar_nodos_hijos(nodo); //Mete en la cola los hijos del nodo actual

46 RECORRIDO ARBOLES RECORRIDO POR NIVELES CODIGO void amplitud(tarbol *a) { tcola cola; tarbol *aux; if (a!= NULL) { crearcola(cola); encolar(cola, a); while (!colavacia(cola)) { desencolar(cola, aux); visitar(aux); if (aux->hizquierdo!= NULL) encolar(cola, aux->hizquierdo ); if (aux->hderecho!= NULL) encolar(cola, aux->hderecho); } } }

47 FORMAS DE ARBOL

48 FORMAS DE ARBOL Árbol binario. Si B es la raíz de un árbol binario y D es la raíz del subárbol izquierdo/derecho, se dice que B es el padre de D y que D es el hijo izquierdo/derecho de B.

49 FORMAS DE ARBOL Un árbol estrictamente binario es aquel en el que cada nodo que no es hoja, tiene subárboles izquierdo y derecho que no están vacíos. Un árbol estrictamente binario con n hojas siempre contiene 2n-1 nodos. El nivel de un nodo en un árbol binario se define del modo siguiente: 1.La raíz del árbol tiene el nivel 0. 2.El nivel de cualquier otro nodo en el árbol es uno más que el nivel de su padre. La profundidad o altura de un árbol binario es el máximo nivel de cualquier hoja en el árbol.

50 FORMAS DE ARBOLES Ejemplo : Un grupo de ajedrecistas que luchan por un campeonato. Cada ajedrecista tiene una única oportunidad para enfrentar al campeón vigente, y que el perdedor de cualquier encuentro será eliminado de la contienda. El árbol que detalla esta situación, es el siguiente: Thursday, May 07, 2015

51 FORMAS DE ARBOL En este árbol binario, las hojas representan a los competidores en el torneo(8) y las ramas a los ganadores de los encuentros o, equivalentemente los encuentros jugados en el torneo. Si se llama r el número de ramas y h el número de hojas en un árbol binario, se puede demostrar que: r = h 1.

52 FORMAS DE ARBOLES El árbol anterior muestra el número de encuentros en un torneo de eliminación simple con 8 competidores. Se juegan un total 7 encuentros a saber: Cuatro encuentros en la primera ronda. Dos encuentros en la segunda ronda. El encuentro final. En total son 7 encuentros Thursday, May 07, 2015

53 En general FORMAS DE ARBOL

54 BUSQUEDA EN ARBOLES Consideremos árboles binarios, de cualquier tipo sobre el cual pueda definirse un orden lineal.

55 BUSQUEDA EN ARBOLES Recordemos las ideas de los algoritmos que recorren estructuras lineales (vectores, listas): Vectores: Listas:

56 BUSQUEDA EN ARBOLES Búsqueda en Arboles Esto implica examinar cada parte del árbol hasta que el vértice o la arista deseada sea encontrada. Podríamos profundizar moviéndonos a un vértice siempre que sea posible o podríamos desplegarnos comprobando todos los vértices en un nivel antes de pasar al siguiente. Búsqueda en profundidad: La idea básica de la búsqueda en profundidad es penetrar tan profundamente como sea posible antes de desplegarse a otros vértices.esto se consigue al tomar el nuevo vértice adyacente al ultimo de los posibles vértices anteriores.

57 BUSQUEDA EN ARBOLES

58 BUSQUEDA EN ARBOLES Busqueda en anchura: La idea basica de la busqueda en anchura es desplegarse a tantos vertices como sea posible antes de penetrar en profundidad dentro de un arbol. Esto significa que visitaremos todos los vertices adyacentes a uno dado antes de cambiar de nivel.

59 BUSQUEDA EN ARBOLES

60 APLICACIONES ARBOLES Aplicaciones de árboles binarios. Un árbol binario es una estructura de datos útil cuando deben tomarse decisiones en dos sentidos en cada punto de un proceso. Suponga que se desea encontrar todos los duplicados de una lista de números. Considérese lo siguiente: 1.El primer número de la lista se coloca en un nodo que se ha establecido como la raíz de un árbol binario con subárboles izquierdo y derecho vacíos. 2.Cada número sucesivo en la lista se compara con el número en la raíz, aquí se tienen 3 casos: a. Si coincide, se tiene un duplicado. b. Si es menor, se examina el subárbol izquierdo.

61 ARBOLES BINARIOS Se define un árbol binario como un conjunto finito de elementos (nodos) que bien esta vacío o esta formado por una raíz con dos arboles binarios disjuntos, es decir, dos descendientes directos llamados subarbol izquierdo y subarbol derecho. Los árboles binarios son llamados también de grado 2 Las aplicaciones de los arboles binarios son muy variadas ya que se les puede utilizar para representar una estructura en la cual es posible tomar decisiones con dos opciones en distintos puntos.

62 ARBOLES BINARIOS Arbol binario de búsqueda. Los árboles binarios se utilizan frecuentemente para representar conjuntos de datos cuyos elementos se identifican por una clave única. Si el árbol está organizado de tal manera que la clave de cada nodo es mayor que todas las claves su subarbol izquierdo, y menor que todas las claves del subarbol derecho se dice que este árbol es un árbol binario de búsqueda. Ejemplo:

63 ARBOLES BINARIOS Recorrido en amplitud Es aquel recorrido que recorre el árbol por niveles, en el siguiente ejemplo sería: 12-8,17-5,9,15 Recorrido en profundidad Recorre el árbol por subárboles. Tipos : Preorden, orden central y postorden.

64 CLASIFICACION ARBOLES BINARIOS Arbol Binario Distinto Se dice que dos árboles binarios son distintos cuando sus estructuras son diferentes. Ejemplo: Arbol Binario Similar Dos arboles binarios son similares cuando sus estructuras son idénticas, pero la información que contienen sus nodos es diferente. Ejemplo: Arbol Binario Equivalente Son aquellos arboles que son similares y que además los nodos contienen la misma información. Ejemplo: Arbol Binario Completo Son aquellos arboles en los que todos sus nodos excepto los del ultimo nivel, tiene dos hijos; el subarbol izquierdo y el subarbol derecho.

Definición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.

Definición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar. Definición: ÁRBOL El árbol es como un tipo de grafo cíclico, conexo y no dirigido. Las estructuras tipo árbol se usan principalmente para representar datos con una relación jerárquica entre sus elementos.

Más detalles

Estructura de Datos Unidad 6: ARBOLES

Estructura de Datos Unidad 6: ARBOLES Estructura de Datos Unidad 6: ARBOLES A. CONCEPTO DE ARBOL B. TIPOS DE ARBOL C. ARBOL BINARIO D. IMPLEMENTACION DE UN ARBOL BINARIO E. PROYECTO Introducción En ciencias de la informática, un árbol es una

Más detalles

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS TEMA 4. - La Estructura de datos Árbol 4.1. Árboles, definiciones 4.2 Árboles binarios y su representación 4.3 Operaciones básicas de un árbol binario

Más detalles

Matemáticas Discretas Tc1003 Teoría de Grafos

Matemáticas Discretas Tc1003 Teoría de Grafos Definición. Sea A un grafo. A recibe el nombre de árbol sí y sólo si: A es conexo. A no contiene circuitos. Ejemplos: Definición. Sea A un árbol. Un vértice de grado 1 se llama una hoja. Un vértice de

Más detalles

Definición de árbol. Árboles

Definición de árbol. Árboles ÁRBOLES Árboles * Definición de árbol * Formas de representación * Nomenclatura sobre árboles * Árboles binarios * Declaración de árbol binario * Recorridos sobre árboles binarios * Construcción de un

Más detalles

Capítulo 8. Árboles. Continuar

Capítulo 8. Árboles. Continuar Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Tema 5.1. Árboles. Árboles binarios y generales Prof. Dr. P. Javier Herrera Contenido 1. Introducción 2. Terminología 3. Árboles binarios 4. Árboles generales Tema 5.1.

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 10

Estructura de datos y de la información Boletín de problemas - Tema 10 Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico

Más detalles

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria ESTRUCTURA DE DATOS ABB Arboles de Búsqueda Binaria ÁRBOLES BINARIOS Hasta ahora nos hemos dedicado a estudiar TAD que de una u otra forma eran de naturaleza lineal, o unidimensional. En los tipos abstractos

Más detalles

Introducción a Árboles Árboles Binarios

Introducción a Árboles Árboles Binarios Introducción a Árboles Árboles Binarios Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Introducción a Árboles Estructuras hasta ahora Estructuras

Más detalles

Arboles Binarios de Búsqueda en C++

Arboles Binarios de Búsqueda en C++ Arboles Binarios de Búsqueda en C++ por CCG/Mayo-2014 Tema de Arboles Binarios de Búsqueda, como un poco de teoría para su mejor entendimiento seguidamente mostrare la implementación en lenguaje de programación

Más detalles

PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS

PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: 1. Objetivo PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS El alumno comprenderá y aplicara

Más detalles

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica TEMA 3. Árboles Objetivos En este tema se estudia una de las estructuras de datos no lineal más importante en computación, el árbol. Comenzaremos introduciendo la terminología asociada a los árboles y

Más detalles

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez Análisis y Complejidad de Algoritmos Arboles Binarios Arturo Díaz Pérez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Número de Nodos Arboles-1 Arbol Un árbol es una colección de elementos,

Más detalles

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010 Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del

Más detalles

El TAD Árbol. El TAD Árbol

El TAD Árbol. El TAD Árbol Objetivos! Presentar el árbol como estructura de datos jerárquica! Estudiar diferentes variantes de árboles, tanto en su especificación como en su implementación Contenidos 3.1 Concepto, definiciones y

Más detalles

Introducción a los árboles. Lección 11

Introducción a los árboles. Lección 11 Introducción a los árboles Lección 11 Árbol: Conjunto de elementos de un mismo tipo, denominados nodos, que pueden representarse en un grafo no orientado, conexo y acíclico, en el que existe un vértice

Más detalles

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda Árboles Árboles Mario Medina C. mariomedina@udec.cl Árboles Estructura recursiva Árbol vacío 0 o más árboles hijos Altura ilimitada Árbol binario A lo más dos hijos: izquierdo y derecho Árboles Árboles

Más detalles

Algoritmos y Programación II Curso 2006

Algoritmos y Programación II Curso 2006 Arboles: Un árbol es una colección de elementos, llamados nodos, uno de los cuales se distingue con el nombre de raíz. Los nodos mantienen entre ellos una relación que define una estructura jerárquica

Más detalles

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es

Más detalles

ESTRUCTURAS DE DATOS Y ALGORITMOS

ESTRUCTURAS DE DATOS Y ALGORITMOS ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno

Más detalles

TIPOS DE ARBOLES. Integrantes: Liliana Xitlali Martinez Lovera Octavio Catarino Aguilar

TIPOS DE ARBOLES. Integrantes: Liliana Xitlali Martinez Lovera Octavio Catarino Aguilar TIPOS DE ARBOLES Integrantes: Liliana Xitlali Martinez Lovera Octavio Catarino Aguilar En ciencias de la informática, un árbol es una estructura de datos ampliamente usada que imita la forma de un árbol

Más detalles

Programación Estructuras Arborescentes

Programación Estructuras Arborescentes Programación 2 4 - Estructuras Arborescentes 1 Definición La recursión puede ser utilizada para la definición de estructuras realmente sofisticadas. Una estructura árbol (árbol general o finitario) con

Más detalles

Estructura de Datos. Árboles. Árboles. Primer Semestre, 2010 ÍNDICE DE CONTENIDOS

Estructura de Datos. Árboles. Árboles. Primer Semestre, 2010 ÍNDICE DE CONTENIDOS Estructura de Datos Árboles Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 1 ÍNDIE DE ONTENIDOS oncepto de árbol. Terminología básica Árboles generales Árboles inarios () Árboles inarios

Más detalles

El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol

El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol Árboles Las listas enlazadas, pilas y colas son estructuras de datos lineales (es decir, secuencias). Un árbol es una estructura de datos bidimensional no lineal, con propiedades especiales. Los nodos

Más detalles

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz TEMA 1. Árboles Generalizados Son estructuras de datos no lineales, o también denominadas estructuras multienlazadas. El árbol es una estructura de datos fundamental en informática, muy utilizada en todos

Más detalles

Árboles Binarios Ordenados Árboles AVL

Árboles Binarios Ordenados Árboles AVL Árboles Binarios Ordenados Árboles AVL Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Diseño e Implementación TAD Árbol Representación de árboles

Más detalles

Definición recursiva de los árboles

Definición recursiva de los árboles Árboles Un árbol es una estructura de datos jerarquizada ada dato reside en un nodo, y existen relaciones de parentesco entre nodos: padre, hijo, hermano, ascendiente, descendiente, etc. Ejemplo: apítulos

Más detalles

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Matemática Discreta y Lógica 2 1. Árboles Árboles Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Como un lazo es un ciclo de longitud 1, un árbol

Más detalles

Árboles y esquemas algorítmicos. Tema III

Árboles y esquemas algorítmicos. Tema III Árboles y esquemas algorítmicos Tema III Bibliografía Tema III (lecciones 15 a 22) del libro Campos Laclaustra, J.: Estructuras de Datos y Algoritmos, Prensas Universitarias de Zaragoza, Colección Textos

Más detalles

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas

Más detalles

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3 Tema 2: Grafos y Árboles Algoritmos y Estructuras de Datos 3 1 ÍNDICE 2.1 Definiciones básicas: grafos y árboles 2.2 Representaciones de árboles y grafos 2.3 Algoritmos de recorrido de árboles binarios

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Introducción Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. A B C D E F G H I J K Clasificación con respecto a su relación: Nodo hijo: cualquiera de los nodos

Más detalles

árbol como un conjunto de nodos y líneas

árbol como un conjunto de nodos y líneas ÁRBOLES CAPÍTULO 6 ÁRBOLES Desde el punto de vista conceptual, un árbol es un objeto que comienza con una raíz (root) y se extiende en varias ramificaciones o líneas (edges), cada una de las cuales puede

Más detalles

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006 ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los

Más detalles

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices. ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo

Más detalles

LECCION N 08 ARBOLES. Un árbol es un grafo A que tiene un único nodo llamado raíz que:

LECCION N 08 ARBOLES. Un árbol es un grafo A que tiene un único nodo llamado raíz que: LECCION N 08 ARBOLES Los árboles son estructuras de datos útiles en muchas aplicaciones. Hay varias formas de árboles y cada una de ellas es práctica en situaciones especiales, en este capítulo vamos a

Más detalles

ÁRBOLES GENERALES Y Y ESTRUCTURAS DE ÍNDICES DEFINICIONES Y REPRESENTACIONES DEFINICIONES Y REPRESENTACIONES. NOMENCLATURA SOBRE ÁRBOLES. DECLARACIÓN Y REPRESENTACIÓN.. CONSTRUCCIÓN.. ÁRBOLES 2-3-4. ÁRBOLES

Más detalles

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ Título: Un Arbol Natural Autor: Luis R. Morera onzález Resumen En este artículo se crea un modelo para representar los números naturales mediante un grafo, el cual consiste de de un árbol binario completo

Más detalles

Estructura de Datos. Estructuras de Datos no lineales : Árboles

Estructura de Datos. Estructuras de Datos no lineales : Árboles Estructura de Datos Estructuras de Datos no lineales : Árboles Definiciones de Árbol En términos matemáticos, un árbol es cualquier conjunto de puntos, llamados vértices, y cualquier conjunto de pares

Más detalles

1. Leer el primer número y almacenarlo en la raíz del árbol. 2. Repetir hasta encontrar un duplicado o el árbol esté vacío.

1. Leer el primer número y almacenarlo en la raíz del árbol. 2. Repetir hasta encontrar un duplicado o el árbol esté vacío. Capítulo 6 Árboles 6.1 Introducción Esta no es una estructura lineal, deben conocerlos de matemáticas finitas. Ejemplos: la tabla de contenido de un libro, los que se hacen en los torneos, los arboles

Más detalles

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Lógica y Estructuras Discretas Tutor: Antonio Rivero Cuesta Tema 5 Teoría de Grafos Conceptos Básicos Un grafo consta de: Grafo Un conjunto de nodos, Un conjunto de aristas

Más detalles

Tema 10. Árboles. José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía

Tema 10. Árboles.  José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía Tema 10. Árboles http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información Universitat

Más detalles

RECORRIDO EN ARBOLES

RECORRIDO EN ARBOLES RECORRIDO EN ARBOLES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008 Contenido Recorrido en árboles Definición Recorrido en

Más detalles

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile Árboles binarios Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Árbol: definición v Árbol (del latín arbor oris): Planta perenne,

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López rancisco. Hernández ópez fcoj23@cimat.mx structura de datos no lineal, en la que cada elemento sólo puede estar enlazado con su predecesor (o nodo padre) y sus sucesores (o nodos hijos) xiste un único

Más detalles

ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1).

ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1). ÁRBOL BINARIO - Un árbol binario puede definirse como un árbol que en cada nodo puede tener como mucho grado 2, es decir, a lo más 2 hijos. Los hijos suelen denominarse hijo a la izquierda e hijo a la

Más detalles

12/08/2017 AVL. Especificación sobre árboles AVL. AVL: rotaciones

12/08/2017 AVL. Especificación sobre árboles AVL. AVL: rotaciones VL Se dice que un árbol binario está balanceado si y sólo si en cada nodo las alturas de sus 2 subárboles difieren como máximo en 1. Todos los árboles perfectamente balanceados son árboles VL. Especificación

Más detalles

Matemáticas Básicas para Computación

Matemáticas Básicas para Computación Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 11 Nombre: Árboles Objetivo: Al término de la sesión el participante conocerá los tipos de grafos específicamente

Más detalles

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;

Más detalles

Estructura de datos y algoritmos. Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios

Estructura de datos y algoritmos. Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios Estructura de datos y algoritmos Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios TEMA V : TIPOS DE DATOS ABSTRACTOS NO LINEALES: ÁRBOLES 5.1 Conceptos y definiciones 5.2 Árboles perfectamente

Más detalles

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS. INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.7 GRAFOS CONEXOS7 ÁRBOLES..7 BOSQUES DE ÁRBOLES...8 RECORRIDO DE UN GRAFO..8

Más detalles

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,

Más detalles

Tema 4. Estructuras no lineales de datos: árboles

Tema 4. Estructuras no lineales de datos: árboles Fundamentos de Programación II Tema 4. Estructuras no lineales de datos: árboles Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de

Más detalles

3. ÁRBOLES. Definición. Un árbol es un conjunto finito de nodos R, tal que:

3. ÁRBOLES. Definición. Un árbol es un conjunto finito de nodos R, tal que: 3. ÁRBOLES Una estructura muy utilizada en el manejo de información es la estructura de árbol. Caracteriza a los sistemas jerárquicos y se emplea principalmente en el procesamiento de datos para la toma

Más detalles

Universidad Tecnológica Nacional Facultad Regional Buenos Aires. Gestión de Datos. Árboles

Universidad Tecnológica Nacional Facultad Regional Buenos Aires. Gestión de Datos. Árboles Universidad Tecnológica Nacional Facultad Regional Buenos Aires Gestión de Datos Árboles Ing. Enrique Reinosa Leandro R. Barbagallo Septiembre 2007 Índice Índice... 2 Introducción... 3 Formalización...

Más detalles

Existen varios tipos de árboles: 5.1 Árboles binarios

Existen varios tipos de árboles: 5.1 Árboles binarios 5. Árboles. El árbol es una abstracción matemática de una estructura no lineal que modela una estructura jerárquica. El árbol juega un papel central en el diseño y análisis de algoritmos ya que se utilizan

Más detalles

PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA

PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: FECHA DIA MES AÑO INGENIERÍA EN COMPUTACIÓN ASIGNATURA 1. Objetivo Apellido paterno ESTRUCTURAS

Más detalles

Algoritmos y Programación II 75.41

Algoritmos y Programación II 75.41 Algoritmos y Programación II 75.41 Cátedra: Lic. Gustavo Carolo Guía de Estudio Enero 2005 Indice Indice 2 Definición 3 Árbol Binario 4 Árbol General 5 Árbol AVL 5 Árbol B 6 Implementación de Binarios

Más detalles

Modelos de Redes: Árbol. M. En C. Eduardo Bustos Farías

Modelos de Redes: Árbol. M. En C. Eduardo Bustos Farías Modelos de Redes: Árbol de expansión n mínimam M. En C. Eduardo Bustos Farías as Objetivos Conceptos y definiciones de redes. Importancia de los modelos de redes Modelos de programación n lineal, representación

Más detalles

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios Temario 5.1 Árboles Binarios 5.2 Árboles n-arios Especificación Utilización Representación Enlazada 5.3 Árboles Binarios de Búsqueda 5.4 Árboles Parcialmente Ordenados 1 Árbol n-ario: O bien es el conjunto

Más detalles

Tema: Arboles en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Definición de Árbol Binario. Programación IV. Guía No.

Tema: Arboles en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Definición de Árbol Binario. Programación IV. Guía No. Programación IV. Guía No. 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Arboles en C#. Objetivos Específicos Definir el concepto de la estructura de datos Árbol. Implementar

Más detalles

ARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

ARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle ARBOLES GENERADORES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008 Contenido Árboles generadores Algoritmo búsqueda por profundidad

Más detalles

Estructuras de datos y algoritmos

Estructuras de datos y algoritmos Estructuras de datos y algoritmos 1. Introducción 2. Estructuras de datos lineales 3. Estructuras de datos jerárquicas 4. Grafos y caminos 5. Implementación de listas, colas, y pilas 6. Implementación

Más detalles

Para la resolución de los ejercicios, se dispone de una implementación de árbol binario a través de la clase BinTree con la siguiente especificación.

Para la resolución de los ejercicios, se dispone de una implementación de árbol binario a través de la clase BinTree con la siguiente especificación. Para la resolución de los ejercicios, se dispone de una implementación de árbol binario a través de la clase BinTree con la siguiente especificación. public class BinTree { public BTNode root; // la raiz

Más detalles

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom Tema 08: TAD Árbol M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Descripción del TAD Árbol Especificación

Más detalles

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios CLASE GRAFOS Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios libros por lo que está prohibida su impresión

Más detalles

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos

Más detalles

Estructuras de datos utilizando JAVA

Estructuras de datos utilizando JAVA 1 Sistemas Expertos e Inteligencia Artificial / Guía II / Ciclo 01-2017 Centro de Investigación y Transferencia de Tecnología Estructuras de datos utilizando JAVA Facultad: Ingeniería Escuela: Computación

Más detalles

Estructuras de datos: Árboles binarios de

Estructuras de datos: Árboles binarios de Estructuras de datos: Árboles binarios de búsqueda, Facultad de Informática Universidad de A Coruña Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2 Table of Contents Árboles

Más detalles

Tema 7: Árbol Binario

Tema 7: Árbol Binario Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el???? Tema 7: Árbol Binario En el árbol binario se combina lo mejor del array (acceso rápido a elementos,

Más detalles

TEMA 5 El tipo grafo. Tipo grafo

TEMA 5 El tipo grafo. Tipo grafo TEMA 5 El tipo grafo PROGRAMACIÓN Y ESTRUCTURAS DE DATOS Tipo grafo 1. Concepto de grafo y terminología 2. Especificación algebraica. Representación de grafos.1. Recorrido en profundidad o DFS.2. Recorrido

Más detalles

Estructuras Dinámicas de datos.

Estructuras Dinámicas de datos. Estructuras Dinámicas de datos. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinámica de datos es una colección de elementos llamadas nodos

Más detalles

Estructura de datos Colas

Estructura de datos Colas Estructura de Datos Estructura de datos Colas Temario Unidad II 2.1 Definición y operaciones 2.2 Implementación estática 2.3 Implementación dinámica 2.4 Colas de prioridad 2.5 Casos de estudio 1 Definición

Más detalles

Unidad 1 Introducción a la teoría de gráficas

Unidad 1 Introducción a la teoría de gráficas Unidad 1 Introducción a la teoría de gráficas La Teoría de G ráficas es una técnica con la que se visualiza de forma global, holística o sistémica un problema. Esta técnica ayuda a comprender y análisis

Más detalles

Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63

Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63 y B + 3.8 y B+! Problema de los ABB cuando se usa almacenamiento secundario:! la búsqueda de un elemento requeriría muchos accesos a disco (un acceso a disco es extremadamente lento si lo comparamos con

Más detalles

Estructura de Datos. Listas Enlazadas

Estructura de Datos. Listas Enlazadas Estructura de Datos Listas Enlazadas Conceptos de Lista enlazada Una lista enlazada es una secuencia de nodos que se interconectan mediante sus campos de enlace. Nodo: un objeto creado desde una clase

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Dr. Eduardo A. Rodríguez Tello Laboratorio de Tecnologías de Información Cinvestav Tamaulipas ertello@tamps.cinvestav.mx Cursos de inducción a la MCC Cinvestav Tamaulipas

Más detalles

Algoritmos y Estructuras de Datos. Guillermo Román Díez

Algoritmos y Estructuras de Datos. Guillermo Román Díez Algoritmos y Estructuras de Datos Árboles Generales y Árboles Binarios Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/22

Más detalles

Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid

Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid Árboles Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid cdk@it.uc3m.es Java: Árboles / 1 Índice Concepto Definición no recursiva

Más detalles

Tema 5 Árboles y Grafos.

Tema 5 Árboles y Grafos. Tema 5 Árboles y Grafos. Definiciones básicas de teoría de grafos. Un grafo consta de un conjunto de nodos, un conjunto de aristas y una correspondencia f del conjunto de aristas al conjunto de nodos.

Más detalles

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre elementos de un conjunto. Típicamente, un grafo se representa

Más detalles

Programación TADs Arboles

Programación TADs Arboles Programación 2 10 - TADs Arboles 1 Arboles Una estructura árbol (árbol general) con tipo base T es, 1. O bien la estructura vacía 2. O bien un nodo de tipo T, llamado raíz del árbol, junto con un número

Más detalles

Grafos. Amalia Duch Brown Octubre de 2007

Grafos. Amalia Duch Brown Octubre de 2007 Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido

Más detalles

Tema 14: ÁRBOLES Algoritmos y estructuras de datos I - Tema 14 1

Tema 14: ÁRBOLES Algoritmos y estructuras de datos I - Tema 14 1 Tema 14: ÁRBOLES Estructura Árbol Definición: Una estructura de árbol con tipo base Valor es: (i) Bien la estructura vacía. (ii) Un conjunto finito de uno o más nodos, tal que existe un nodo especial,

Más detalles

Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002

Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002 Definiciones: conjuntos, grafos, y árboles Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002 1 Conjuntos (sets) y Grafos (graphs) Un Conjunto es una colección de objetos distintos. No

Más detalles

Árboles. Alonso Ramírez Manzanares Computación y Algoritmos Friday, March 17, 17

Árboles. Alonso Ramírez Manzanares Computación y Algoritmos Friday, March 17, 17 Árboles 1 Grafos Un grafo es un conjunto de nodos atados por un conjunto de ejes que conectan pares de nodos distintos (con un eje conectando un par de nodos.) Árboles Un árbol es una colección no-vacía

Más detalles

Programación de sistemas

Programación de sistemas Programación de sistemas Árboles Julio Villena Román MATERIALES CREADOS EN EL TRABAJO DE DIFERENTES AUTORES: Carlos Delgado Kloos, M.Carmen Fernández Panadero, Raquel M.Crespo García,

Más detalles

UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS

UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS Curso 2008-09 Examen parcial APELLIDOS: NOMBRE: 1. (0.5 puntos) Enumera las características de un algoritmo

Más detalles

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler]

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler] Matemáticas Discretas L. Enrique Sucar INAOE Teoría de Grafos Problema de los puentes de Königsberg [Euler] Teoría de Grafos Definición y terminología Tipos de grafos Trayectorias y circuitos Isomorfismo

Más detalles

Estructuras de datos Listas y árboles

Estructuras de datos Listas y árboles Estructuras de datos Listas y árboles Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Listas y árboles p. 1 Listas Listas son estructuras un poco más avanzadas que puros arreglos, como

Más detalles

UNIDAD 9. DATOS COMPLEJOS PILAS

UNIDAD 9. DATOS COMPLEJOS PILAS UNI 9. TOS OMPLEJOS PILS Una pila es una lista de elementos en la que se pueden insertar y eliminar elementos sólo por uno de los extremos. omo consecuencia, los elementos de una pila serán eliminados

Más detalles

Tema 10: Árbol binario de búsqueda

Tema 10: Árbol binario de búsqueda Tema 10: Árbol binario de búsqueda M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Árbol binario de

Más detalles

Árboles AVL. Lección 14

Árboles AVL. Lección 14 Árboles VL Lección 14 Árboles inarios Equilibrados Un árbol binario de búsqueda se dice equilibrado (o balanceado) si y sólo si, para cada uno de sus nodos ocurre que las alturas de sus 2 subárboles difieren

Más detalles

Apellidos:... Nombre:...

Apellidos:... Nombre:... Apellidos:....................................... Nombre:........................................ Introducción a la Inteligencia Artificial 1 er Parcial de Teoría 12 Noviembre 2004 Ejercicio 1: Responder

Más detalles

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 5: Árboles. Prof. Montserrat Serrano Montero

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 5: Árboles. Prof. Montserrat Serrano Montero Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 5: Árboles Prof. Montserrat Serrano Montero 1 ÍNDICE Primera parte: Conceptos básicos TAD Árbol binario

Más detalles

Estructuras de Datos

Estructuras de Datos 108 Ejercicio: Genere el árbol binario de búsqueda para la siguiente secuencia de números: 8, 9, 11, 15, 19, 20, 21, 7, 3, 2, 1, 5, 6, 4, 13, 14, 10, 12, 17, 16, 18. Analice y describa lo que sucede durante

Más detalles

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.

Más detalles

Algoritmos Elementales de Grafos. Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem. 2002

Algoritmos Elementales de Grafos. Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem. 2002 Algoritmos Elementales de Grafos Agustín J. González ELO-0: Estructura de Datos Y Algoritmos er.sem. 00 Introducción Estudiaremos métodos para representar y explorar o recorrer grafos. Explorar un grafo

Más detalles

Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa

Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa Estructura de Datos y de la Información Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa Laboratorio de Investigación y Desarrollo en Inteligencia Artificial Departamento de Computación

Más detalles