Diseño y Análisis de Algoritmos con Java(I Sem. 2004) Prof. Dr.Eric Jeltsch F.
|
|
- Esteban Fuentes Quiroga
- hace 5 años
- Vistas:
Transcripción
1 Arboles En esta sección se presentan los árboles que son un tipo de dato abstracto más adecuado para el tratamiento de grandes cantidades de información, las aplicaciones de los mismos son muy diversas, así por ejemplo, se usan para el almacenamiento y búsqueda de información ya que pueden establecerse diversas estructuras en las que el tiempo medio de las operaciones de búsqueda es del orden de log(n), lo que es bastante bueno comparado por ejemplo, con las listas enlazadas en la búsqueda de alguna información, otros ámbitos de aplicación son en la implementación del sistema de archivos en los sistemas operativos, manejo de archivos en la realización de bases de datos, así como diversos árboles que poseen sus propias estructuras y propiedades, tales como los árboles AA, Splay, Red-Black, AVL, y otros. Un árbol es una estructura no lineal formada por un conjunto de nodos y un conjunto de ramas o arcos, tal como se aprecia en la siguiente figura. Ahora, si los nodos están rotulados con el fin de almacenar un tipo de información, tenemos una gran variedad de árboles. En general, digamos que en un árbol existe un nodo especial denominado raíz. Así mismo, un nodo del que sale alguna rama, recibe el nombre de nodo de bifurcación o nodo rama y un nodo que no tiene ramas recibe el nombre de nodo terminal o nodo hoja, tal como lo muestra la siguiente figura. raíz A Nivel 0 nodo de bifurcación B C Nivel D E F hojas Nivel
2 De un modo más formal, diremos que un árbol es un conjunto finito de uno o más nodos tales que: a) Existe un nodo especial llamado raíz del árbol, y b) los nodos restantes están agrupados en n > 0 conjuntos disjuntos A,.., A n donde cada uno de los cuales es a su vez un árbol que recibe el nombre de subárbol. Evidentemente, la definición dada es recursiva; es decir, hemos definido un árbol como un conjunto de árboles. De la definición se desprende, que cada nodo de un árbol es la raíz de algún subárbol contenido en la totalidad del mismo. Las expresiones algebraicas, debido a que los operadores que intervienen son operadores binarios, nos dan un ejemplo de estructura en árbol binario. La figura siguiente nos muestra un árbol que corresponde a la expresión aritmética: (a+b*c)/(d-e/f) / + - a * d / b c e f El árbol binario es una estructura de datos muy útil cuando el tamaño de la estructura no se conoce, y se necesita acceder a sus elementos ordenadamente, la velocidad de búsqueda es importante o el orden en el que se insertan los elementos es casi aleatorio. En definitiva, un árbol binario es una colección de objetos (nodos del árbol) cada uno de los cuales contiene datos o una referencia a los datos, una referencia a su subárbol izquierdo y una referencia a su subárbol derecho. Según lo expuesto, la estructura de datos representativa de un nodo puede ser de la forma siguiente: Si el número de nodos en un árbol de orden t es n, entonces un árbol completo de altura h contiene: h i= i () N = t = h t t h En particular, un árbol binario (t=) contiene N = nodos. Esto nos dice que para un árbol binario de altura h= 3, se tienen 7 nodos. Tal como se ve en la siguiente figura,
3 Clasificación de los árboles A causa del gran significado que poseen los árboles es que se hace necesaria una clasificación, tanto en los datos que son almacenados en los árboles, así como en la forma de buscar un tipo de información, y de recorrer los nodos. En general, los datos o información se encuentra en los nodos, de aquí que consideremos en forma particular los árboles binarios y la forma de cómo disponer su información, generando un tipo de árbol llamado árbol de búsqueda binaria. ABB(árboles de búsqueda binaria) Las claves o datos son dispuestas de la siguiente manera: los datos menores a la izquierda y los mayores a la derecha. En la siguiente figura se puede constatar fácilmente la posición en la cual se encuentra algún dato en particular Arboles de Decisión(o árbol de búsqueda o de comparaciones) Este tipo de árboles es aplicado a los algoritmos de ordenamiento, en donde es posible representar cada comparación como un vértice del árbol. - 0 : Decisión para el hijo izquierdo - : Decisión para el hijo derecho 3
4 En el ejemplo, se muestra el árbol de comparaciones pero en el contexto de la búsqueda secuencial, en donde debemos resaltar los cajones como nodos externos o especiales y los nodos en donde se encuentra la información, generándose así un nuevo tipo de árbol, llamado árbol extendido. = = 3 = n = En este sentido, el árbol de comparaciones cambia radicalmente su rotulación si incorporamos la comparación <, >, o =, tal como se ve en la siguiente figura, cuando n=0, en la cual se combinan dos comparaciones a fin de obtener una comparación de tres vías para cada paso, así el árbol se ve más compacto, en comparación con el árbol que considera las comparaciones a la izquierda y > a la derecha. 5 < = > 8 < = > < = > < = > < = > < = > < = > < = > < = > < = > Basado en esta nueva forma de rotular los nodos, digamos que podríamos clasificar los árboles en árboles orientados a los nodos y árboles orientados a las hojas, para distinguirlos digamos que los primeros son árboles en donde los datos se encuentran en los nodos del árbol, mientras que los otros son árboles en donde los datos se encuentran solamente en las hojas. Convengamos que, tal como la figura anterior si el árbol es ampliado con nodos especiales, de manera que todos los subárboles están completos, es decir todos los punteros 4
5 sin nodos descendientes apuntan a un nodo especial, se habla de un árbol extendido En este contexto definamos la longitud de trayectoria interna de un nodo, como el número de aristas o ramas que se recorren desde la raíz al nodo. Por otra parte, la longitud de trayectoria interna de un árbol, es la suma de todas las longitudes de trayectoria de sus nodos. En principio, un nodo de nivel i tiene una longitud de trayectoria i. Sin embargo, es posible definir árboles en los que esto no sucede, tal como ocurre en los árboles B. Así como la longitud de trayectoria externa de un árbol, como la suma de las longitudes de trayectoria de todos los nodos especiales Otra forma de clasificación es considerar árboles optimal estáticos u optimal dinámicos, los primeros significa que el árbol debe ser construido nuevamente, mientras que el otro se construye durante el ingreso o al agregar los datos. El objetivo final en ambos casos es lograr una razonable estructura de almacenamiento, aunque esta situación en general globalmente no se pueda lograr, pero sí localmente. En ambos casos, se evitan árboles degenerados, que son los árboles que degeneran en listas lineales o ramas. Los árboles sirven también para representar una jerarquía, tal como lo muestra el siguiente ejemplo, respecto de la representación de expresiones aritméticas. Por ejemplo, para la expresión ( A+ B/ C) ( D E F) se puede representar por el siguiente árbol: * + - A / D * B C E F Relación de Orden y Representación En cada nodo, se da una situación de orientación y jerarquerización en los árboles binarios: Toda clave al lado derecho(izq) de los subarboles son mayores(menores) a la clave del nodo. Con ayuda de esta relación de orden se generan arboles que sirven para buscar, borrar o hallar algún elemento en particular. 5
6 Información DATOS Punteros Izquierda(Izq) derecha(der) Puntero al hijo izquierdo Puntero al hijo derecho La búsqueda de un elemento se realiza desde la raíz hasta el nodo en donde se encuentra la clave, en caso de existir, en caso contrario no existe el dato.. Las dos claves son iguales, la que se busca y la que tiene el nodo: el elemento es encontrado. La clave buscada es pequeña: el elemento buscado se encuentra solamente en los subarboles izquierdo 3. La clave buscada es mayor: el elemento buscado se encuentra solamente en los subarboles derecho. Este proceso se realiza hasta que la clave es encontrada. Notar que la estructura y crecimiento de los árboles binarios son a través de una relación de orden, por tal motivo se generan varios árboles con rotulaciones distintas. Por ejemplo, se dan las 3 claves, y 3, tan solo con estas podemos generar distintos árboles binarios respetuosos del orden antes descrito, por ejemplo,, 3, 3,,, 3 3 3, 3, 3,, 3,,
7 existiendo 6 distintas formas de rotularlos y por ende 6 árboles binarios distintos. En general, se demuestra que n-elementos generan n! formas. k Aquí existen (k-)! Subarboles con claves..n Aquí existen (N k)! subarboles con claves k+,... N Inserción en un ABB ) comparar la clave a insertar con la raíz del árbol. Si es mayor, debe avanzar hacia el subarbol derecho. Si es menor, debe avanzar hacia el subarbol izquierdo. Repetir sucesivamente ), hasta que se cumpla alguna de las siguientes condiciones: a) el subarbol derecho es vacío, o el subarbol izquierdo es vacío; en cuyo caso se procede a insertar el elemento en el lugar que le corresponda. b) La clave que se quiere insertar es igual a la raíz del árbol; en cuyo caso no se realiza la inserción. Por ejemplo, insertar 0, 87 y 30, en ese orden a partir del árbol vacío Borrar o eliminar un nodo Se refiere a eliminar un Nodo con una determinada clave, suponiendo que el elemento ha sido encontrado. Existen varias situaciones, entre ellas están: a) Si el elemento a borrar es terminal u hoja, simplemente se elimina. b) Si el elemento a borrar tiene un solo descendiente, entonces tiene que sustituirse por ese descendiente. c) Si el elemento a borrar tiene los descendientes, entonces se tiene que sustituir por el nodo que se encuentra más a la izquierda en el subárbol derecho o por el nodo que se encuentra más a la derecha en el subárbol izquierdo. Por ejemplo 7
8 a) El nodo que se eliminará es una hoja. Antes despues b) El nodo que se elimina tiene exactamente un hijo. Antes c) El nodo que se elimina tiene hijos despues Antes despues Recorrido y orden en Arboles El principio de recorrer un árbol binario, determina un orden sobre el conjunto de nodos. Existen 3 posibilidades o principios de como recorrer un árbol binario, ellos son la lectura en Inorden, Preorden y Postorden. Inorden Orden IRD () Recorrer el subárbol izquierdo en INORDEN () Visitar la raíz (3) Recorrer el subárbol derecho en INORDEN 8
9 Preorden Orden RID () Visitar la raíz () Recorrer el subárbol izquierdo en PREORDEN (3) Recorrer el subárbol derecho en PREORDEN Postorden Orden IDR () Recorrer el subárbol izquierdo en POSTORDEN () Recorrer el subárbol derecho en POSTORDEN (3) Visitar la raíz Un ejemplo, es + * + A B * E C D "Preorden": + * A B + * C D E "Inorden": A * B + C * D + E "Posorden": A B * C D * E + + Aplicaciones de los recorridos En un árbol de búsqueda binario se puede dar la siguiente situación, la que se interpreta como un árbol de búsqueda binario que degenero en una lista lineal, derivando en que la búsqueda de algún elemento en particular resulta tan costoso como buscarlo en forma exhaustiva, de aquí que es importante evitar que se genere una situación de este tipo Para ello, están los árboles perfectamente balanceados que evitan que se de una situación como la descrita a continuación, de manera de obtener una forma de balanceo que en definitiva facilita la búsqueda de algún elemento, pues no se 9
10 encuentra a una profundidad tan alejado de la raíz. Se verifica que el árbol de la derecha es árbol AVL, que luego lo veremos en detalle. Arboles AVL Lo substantivo es superar el problema generado por la inserción en los árboles de Búsqueda Binaria que podían degenerar en una lista proporcional a los datos ingresados. Definición: Un árbol AVL es un árbol binario de búsqueda en el que las alturas de los subarboles izquierdos y derecho de cualquier nodo difieren a lo sumo en. Esta restricción impuesta sobre la altura de los subarboles de un árbol AVL se le conoce como propiedad de los árboles AVL, y debe ser cumplida por todos y cada uno de los nodos del árbol. Ejemplos: () Basado en que los árboles AVL son árboles binarios es que a partir de un árbol vacío se han insertado los datos originando el árbol de la Fig., el cual deja de tener la propiedad AVL. Pues, aunque los nodos, 4, 0, la posean considerando sus respectivos subarboles, notamos que en este caso la raíz, es decir el nodo 8 no posee la propiedad de los árboles AVL pues la altura del subárbol izquierdo no difiere en a lo sumo con el subárbol derecho, (en particular el subárbol izquierdo tiene altura 3, mientras que el subárbol derecho tiene altura. ( De allí la marca que se considera como bajo el nodo 8 y bajo el nodo Fig. Los valores y se conocen como "Balance" de los nodos 8 y 4 respectivamente. H registra los valores de las alturas de los subárboles, los que deben ser - (balance_izq), 0 (balanceado) y + (balance_der). 0
11 () En este otro caso, todos los nodos satisfacen la condición de balance, de manera que es un árbol AVL Fig. 5 7 Sea T(h) cualquier árbol AVL que contenga N(h) nodos, con h>=. Como T(h) es un árbol AVL, y supongamos que tenga el menor número de nodos, entonces uno de los subárboles de la raíz debe tener altura h- y el otro deberá tener altura h-, de manera que el número de nodos de un árbol AVL en el caso peor de altura h viene dado por: (Ver (), para mayor información) N(h) = + N(h-) + N(h-). Si suponemos que N(h) = 0 cuando h <0, entonces los primeros valores de esta relación de recurrencia son:,, 4, 7,, 0,...etc. En general, N(h) = F(h+3), donde F(i) es el i-ésimo número de Fibonacci. (Ver (4), pág.36-37). Tomando logaritmo en base ( + 5)/), se tiene que h = log ( + 5)/) N(h) 3. Como N(h) es el número de nodos en el peor árbol AVL de altura h, se desprende del análisi anteriorque la altura de cualquier árbol AVL de n-nodos es O(log(n)). Métodos de Consulta Al igual que como se hizo para los árboles de búsqueda binaria podemos realizar consultas en un árbol AVL. A saber, Insertar y Eliminar, y otros métodos que no resultan tan directos como en los árboles de búsqueda binaria, por el problema de balanceo que se genera. Ejemplos: Dado el siguiente árbol T de búsqueda binaria Fig 3.: 6
12 ) En este árbol, son insertados los nodos con claves 9 y. Generándose el árbol T : Fig. 4.: ) Basado en T, son insertados los nodos con claves, 3, 5 y 7. Generándose el árbol T: Fig. 5: Ya al insertar la clave el árbol pierde la propiedad de AVL.. De aquí el aplicar una doble rotación Arbol obtenido luego de insertar las claves 3, 5 y Fig. 6: La inserción de las claves 3, 5 y 7 no hacen perder la propiedad AVL.
13 Rotaciones Los árboles de Fig. 7 contienen los mismos elementos y son ambos árboles de búsqueda binaria. Primero, en ambos casos k < k, segundo, todos los elementos en los subárboles X son menores que k en ambos árboles, tercero, todos los elementos en el subárbol Z son mayores que k. Finalmente todos los elementos en el subárbol Y están entre k y k. La conversión de uno de ellos al otro se conoce como Rotación simple, que significa en lo substancial cambiar la estructura del árbol. Las figuras muestran también las variantes simetricas. k k k Z k Y X Y Z X k k k k X Y X Y Z Z Existen situaciones en donde el desbalanceo es generado por un nodo que es insertado en el árbol que está contenido en el subárbol de el medio( es decir Y) y que al mismo tiempo como los otros arboles tienen idéntica altura. El caso es fácil de chequear y la solución es llamada Rotación Doble, la cual es muy similar a la rotación simple salvo que ahora se ven involucrados 4 subárboles en vez de 3. 3
14 k3 k k k k3 D k B C A A D B C K3 k K k3 k A k D B C A D B C Ud. podrá verificar que cualquier desbalanceo causado por una inserción en un árbol AVL puede ser realizada por una Rotación Doble o Simple. Ahora, respecto a la eficiencia de esta TDA mencionemos que almacenar la información de la altura, que en este caso son suficientes con +, 0 y, es de gran utilidad Entonces recordemos que para Insertar un nodo con la clave x en un árbol AVL, el valor x se inserta recursivamente en el subarbol correspondiente, tal como en los árboles de búsqueda binario. En el caso que la altura del subárbol no cambie, la inserción concluye. En caso contrario es necesario utilizar según sea el caso, Rotación Simple o Rotación Doble. 4
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 detallesESTRUCTURA 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 detallesCAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES
CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES Los árboles (en general) se utilizan para representar fórmulas algebraicas, para organizar objetos en orden de tal forma que las búsquedas sean muy eficientes
Más detallesAná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 detallesAlgoritmos 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 detallesEstructura de Datos. Temario Unidad VI. Árboles Árboles Binarios
Estructura de Datos Árboles Árboles Binarios Temario Unidad VI 6.1 Definición y operaciones 6.2 Implementación 6.3 Recorrido en Árboles Binarios 6.4 Árboles AVL y su implementación 6.5 Árboles n-arios
Más detallesA) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES
Capitulo 5. Arboles 1. Al recorrer el siguiente árbol en se visitan más nodos para llegar al número 38. Justifique su respuesta mostrando cada uno de los recorridos. Tipo de Recorrido Recorrido A) PREORDEN
Más detallesESTRUCTURAS 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 detallesEstructuras 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 detallesEstructura 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 detallesEstructura 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 detallesContenido 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 detallesTema 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 detallesEstructura 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 detallesCapí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 detallesEstructura de Datos Tema 6. Árboles. Contenido 14/06/2018
Estructura de Datos Tema 6. Árboles Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. dtorres@mixteco.utm.mx Contenido 1. Definición y operaciones
Más detallesDefinició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 detallesUn árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:
Instituto Universitario de Tecnología Industrial Rodolfo Loero Arismendi I.U.T.I.R.L.A. ÁRBOLES Sección 3DA Asignatura: Estructura de Datos Lenguaje (C). Ciudad Bolívar _ abril_ 2006. Introducción El siguiente
Más detallesPROGRAMA EDUCATIVO INFORMATICA ADMINISTRATIVA
PROGRAMA EDUCATIVO INFORMATICA ADMINISTRATIVA UNIDAD DE APRENDIZAJE ADMINISTRACION DE BASES DE DATOS Unidad de competencia III Manejar las estructuras dinámicas en memoria secundaria Arboles ELABORACION
Más detallesEste material es de uso exclusivo para clase de algoritmos y estructura de datos, la
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 y distribución.
Más detallesTema: ARBOLES. Instructor: MC. Gerardo Gálvez Gámez Junio de 2018 INTRODUCCIÓN:
UNIVERSIDAD AUTÓNOMA DE SINALOA Facultad de Informática uliacán Tema: AROLES Instructor: M. Gerardo Gálvez Gámez Junio de 2018 INTRODUIÓN: Hasta el momento solo se han estudiado estructuras lineales y
Más detallesDefinició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 detallesEstructura de Datos. Índice
TEMA 5. ÁRBOLES (I) 1 Índice 1. Concepto de árbol 2. Árboles binarios 1. Especificación informal del TAD árbol binario 2. Implementación del TAD árbol binario 3. Recorrido de un árbol binario 4. Árboles
Más detallesEl 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 detallesEstructuras 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Árboles balanceados (AVL) Estructura de datos
Árboles balanceados (AVL) Estructura de datos Definición de un árbol balanceado Es un árbol binario de búsqueda en el cual se cumple: Para todo nodo T del árbol, la altura de los subárboles izquierdo y
Más detallesÁrbol ABB equilibrado. Lección: Árboles. Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58
Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58 Índice 1 Árbol de búsqueda 2 2/ 58 Índice Árbol de búsqueda 1 Árbol de búsqueda 2 3/ 58 Árbol de búsqueda Es
Más detallesDefinició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 detallesEstructura 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 detallesTema 09: TAD Árbol binario
Tema 09: TAD Árbol binario M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Introducción El árbol binario
Más detallesIntroducció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 detallesEstructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos)
Ing. En Sistemas Computacionales Estructura de Datos Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos) Ing. Néstor Alejandro Carrillo López Arboles Un árbol es un conjunto finito
Más detallesÁ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 detallesDiseño de Conjuntos y Diccionarios
Diseño de Conjuntos y Diccionarios Representación de Conjuntos y Diccionarios TAD Diccionario(clave, significado) Observadores básicos def?: clave c x dicc(clave, significado) d bool obtener: clave c dicc(clave,
Más detallesEstructuras de Datos ARBOLES Y GRAFOS
Estructuras de Datos ARBOLES Y GRAFOS Rosa Barrera Capot rosa.barrera@usach.cl Grafo? Características Permiten Modelar un problema Aplicaciones: Ingeniería de Sistemas Modelado de Redes Ingeniería Industrial
Más detallesEstructuras 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 detallesTEMA 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 detallesPRÁ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 detallesUNIVERSIDAD 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 detallesTema 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 detallesFrancisco 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 detalles168 Capítulo 4. Representación de conjuntos mediante árboles
16 Capítulo. Representación de conjuntos mediante árboles En cuanto al tiempo de ejecución, básicamente podemos aplicar el mismo análisis que en la inserción. El tiempo total para una supresión será proporcional
Más detallesEstructuras 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Á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Á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Á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 detallesEjercicio 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 detallesARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES TEMAS Recorrido de un árbol Máximo y mínimo Búsqueda de un elemento Borrado de un nodo 3 Características ARBOLES - CONCEPTOS Cada elemento del árbol
Más detallesÁ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 detallesIntroducció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 detallesFrancisco 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 detallesEliminación en un ABB
Eliminación en un El procedimiento para eliminar un nodo z de un árbol de búsqueda binaria tiene tres casos: aso 1: Si z no tiene hijos, se modifica su padre p[z] para reemplazar z con nil como su hijo.
Más detallesListas Posicionales. Listas posicionales
Listas Posicionales Definición: Una lista posicional es una colección de elementos homogéneos, con una relación lineal entre ellos, en la que se puede acceder a los elementos mediante su posición. Se puede
Más detallesÁ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 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 detallesTema 7: Árboles ESTRUCTURAS DE DATOS 1
Tema 7: Árboles ESTRUCTURAS DE DATOS 1 Contenidos Definiciones Conceptos de Árboles Binarios Especificación algebraica Implementaciones Programación con Árboles Binarios Árboles Binarios de Búsqueda Introducción
Más detalles12/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 detallesProgramació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 detallesEstructuras de Datos II
Estructuras de Datos II Segundo Parcial Los árboles B+ son estructuras de datos jerárquicas que se utilizan para almacenar y manipular datos ordenados de forma muy eficiente, ya que por su estructura y
Más detallesTema: 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 detallesTema Á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 detallesCapitulo VI Árboles y Grafos
Capitulo VI Árboles y Grafos Tu vida no cambia cuando cambia tu jefe, Cuando tus amigos cambian, Cuando tus padres cambian, Cuando tu pareja cambia. Tu vida cambia, cuando tu cambias, Eres el único responsable
Más detallesEstructuras de Datos Clase 20 Árboles de búsqueda
Estructuras de Datos Clase 20 Árboles de búsqueda Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina
Más detallesDefinició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 detallesTema 4. Estructura de datos no lineales Arboles y Grafos. J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.
Tema 4 Estructura de datos no lineales rboles y Grafos 4.1.1. Introducción Las estructuras de datos vistas en apartados anteriores son de tipo lineales, dado que a cada elemento le seguía siempre otro
Más detallesTema 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 detalles4.1 Concepto de árbol.
Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 1 4.1 Concepto de árbol. Una estructura de árbol es una forma de representar la JERARQUÍA de ciertos objetos en una forma gráfica.
Más detallesAlgoritmos 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 detallesEl 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 detalles1. 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 detallesProgramación 2 Práctico 9 - TADs Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario
Práctico - TADs Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario Objetivos Trabajar con los tipos abstractos de datos Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario. Desarrollar y analizar
Más detallesEduardo 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 detallesEstructura de Datos. Temario Unidad VI. Árboles Árboles AVL
Estructura de Datos Árboles Árboles VL Temario Unidad VI 6.1 Definición operaciones 6.2 Implementación 6.3 Recorrido en Árboles inarios 6.4 Árboles VL su implementación 6.5 Árboles n-arios 6.6 Árboles
Más detallesARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II
ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II Contenido Concepto Características y Propiedades Tipos de Arboles 1. Libres 2. Binarios 3. Expansión Mínima Algoritmo de Kruskal Algoritmo Prim
Más detallesProgramación II Árboles binarios de búsqueda (ABB)
Programación II Árboles binarios de búsqueda (ABB) Definición Un árbol binario de búsqueda(abb) a es una estructura de datos de tipo árbol binario en el que para todos sus nodos, el hijo izquierdo, si
Más detallesEstructuras de Datos. Clase 20 Árboles de búsqueda. Dr. Sergio A. Gómez.
Clase 20 Árboles de búsqueda http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina Motivaciones El árbol binario de búsqueda permite implementar conjuntos mapeos con un tiempo de operaciones buscar, insertar
Más detallesASIGNATURA: (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 detallesArchivos Indice. Indexación y. Asociación. Conceptos Básicos Indices Ordenados Arboles. Asociación. Docente: Albert A.
Docente: Albert A. Osiris Sofía 1º Cuatrimestre 2002 Conceptos Básicos Indices Ordenados Arboles Asociación Indexación y Asociación Archivos Indice 1 2 3 1 Archivos Indice Ordenados Asociativos Primario
Más detallesEjercicios del Tema 3 Estructuras jerárquicas: Árboles
ALGORITMOS Y ESTRUCTURAS DE DATOS II Ingeniería Técnica en Informática de Gestión Ingeniería Técnica en Informática de Sistemas Ejercicios del Tema 3 Estructuras jeráruicas: Árboles Árboles n-arios 1.
Más detallesÁrboles n-arios de búsqueda. Lección 16
Árboles n-arios de búsqueda Lección 16 Definiciones Los árboles n-arios de búsqueda (árboles de búsqueda múltiples o multicamino) son árboles de grado n definidos de la forma: si el árbol A es vacío, entonces
Más detallesIndexación y Asociación
Bases de Datos Indexación y Asociación Contenidos Conceptos básicos Indices Ordenados Árboles B+ ArbolesB Asociación estática Bases de Datos Indexación y Asociación 2 Conceptos básicos Los Indices se utilizan
Más detallesLaboratorio de Estructuras de Datos II
Laboratorio de Estructuras de Datos II Segundo examen parcial Fecha límite de entrega: Jueves 19 de noviembre de 2009, 3:59:59 p.m. Los árboles B son estructuras de datos jerárquicas que se utilizan para
Más detallesUn árbol A es un conjunto finito de uno o más nodos tales: ,...V n. ) se dividen en m>=0 conjuntos disjuntos denominados A 1
POTIII 2.5 rboles Un árbol es un conjunto finito de uno o más nodos tales: 1. xiste un nodo especial denominado RIZ(V 1 ) del árbol 2. os nodos restantes (V 1,V 2,...V n ) se dividen en m>=0 conjuntos
Más detallesINGENIERIA DE SISTEMAS 19 ESTRUCTURAS DE DATOS (Listas simples) ARBOLES
INGENIERIA DE SISTEMAS 19 ESTRUCTURAS DE DATOS (Listas simples) ARBOLES Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. También se suele dar una definición
Más detallesUniversidad 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 detallesProgramación II Tema 5. Árboles binarios
ontenidos Programación II Tema 5. Árboles binarios Iván antador ompletitud de búsqueda onstrucción de un árbol e inserción y búsqueda de un elemento y recorrido onstrucción ontenidos ompletitud de búsqueda
Más detallesIntroducció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ÍNDICE 1. Índice Listas ordenadas Operaciones permitidas Pilas Operaciones permitidas...
ÍNDICE 1 Índice Índice 1 1. Introducción 2 2. Estructuras de datos 3 2.1. Consideraciones generales a todas las estructuras de datos......... 3 2.2. Listas...................................... 3 2.2.1.
Más detallesTema 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 detallesEstructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial
Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial (Facultad de Informática) Curso 00 0 Estructuras de Datos y Algoritmos (FI-UPV) Curso 00 0 Árboles. Si la acción P fuera escribir
Más detallesEstructuras de Datos. 8.6 Árboles B. Supongamos que los nodos de un árbol deben ser guardados en un medio de almacenamiento secundario (disco).
132 El grado de ocupación de una tabla hash se determina mediante el factor de carga, que es la fracción ocupada de la tabla y es un número que está entre 0 y 1 si está vacía o llena respectivamente. Ejercicio:
Más detallesArboles 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 detallesAlgoritmos sobre Listas
TEMA 6 Algoritmos sobre Listas V1.1 Manuel Pereira González Agenda Introducción Algoritmos de Búsqueda Búsqueda Secuencial Búsqueda Binaria Análisis de Eficiencia Algoritmos de Inserción Algoritmos de
Más detallesProgramación de sistemas Árboles
Programación de sistemas Árboles Departamento de Ingeniería Telemática 1 Contenidos Concepto de árbol Terminología Implementación Casos especiales Árboles binarios de búsqueda Montículos (heaps) 2 Concepto
Más detallesDescubrir los árboles como paradigma de los tipos Recursivos de Datos
TEMA 5 ÁRBOLES(*) Una de las estructuras las datos más importantes y prominentes que existen es el árbol. No es un árbol en el sentido botánico de la palabra, sino uno de naturaleza más abstracta. Todos
Más detalles1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N 2-1 b. 2 N+1-1 c. 2 N d. 2 N+1 i.
1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N - 1 b. N1-1 c. N d. N1 i.. Dado el siguiente árbol binario: raiz Q K T D M R Y B J P W N a. Cuáles son los antecesores
Más detallesUNIVERSIDAD 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 detallesExamen de Estructuras de Datos y Algoritmos. (Modelo 2)
Examen de Estructuras de Datos y Algoritmos (Modelo 2) 17 de junio de 2009 1. Se dispone de una tabla hash de tamaño 12 con direccionamiento abierto y sondeo cuadrático. Utilizando como función hash la
Más detallesExamen de Estructuras de Datos y Algoritmos. (Modelo 1)
Examen de Estructuras de Datos y Algoritmos (Modelo 1) 17 de junio de 2009 1. Qué rotación se necesita para transformar el árbol de la figura en un árbol AVL? a) Rotación simple izquierda-izquierda b)
Más detalles