Estructura de Datos Tema 6. Árboles. Contenido 14/06/2018
|
|
- Rosario Belmonte Vargas
- hace 5 años
- Vistas:
Transcripción
1 Estructura de Datos Tema 6. Árboles Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. Contenido 1. Definición y operaciones 2. Implementación de árboles binarios. Recorrido de árboles binarios 4. Implementación de árboles AVL. Árboles n-arios: La estructura TRIE 6. Referencias 1
2 1. Definición y operaciones En estructura de datos, la forma más simple de un árbol, es un Árbol Binario Consiste de: Un nodo (llamado raiz) y Sub-árboles Izquierdo y Derecho Ambos sub-árboles son áboles binarios raiz izq \ der nodos Note la Definición recursiva Sub árbol izquierdo \ \ 8 \ \ 4 \ hojas 1. Definición y operaciones Estructura de dato typedef struct arbol{ int info; //datos struct arbol *p; //apuntador al padre struct arbol *izq; //apuntador al hijo izq. struct arbol *der; //apuntador al hijo der. }tipoarbol; typedef tipoarbol *tipoarbolptr; 2
3 1. Definición y operaciones Los árboles binarios no necesariamente deben tener sus dos hijos 1. Definición y operaciones Árbol binario estrictamente Un nodo que no es hoja tiene subárboles que no son vacíos Un árbol estrictamente binario con n hojas tiene siempre 2n-1 nodos
4 1. Definición y operaciones Nivel 0 Nivel 1 Nivel 2 Profundidad= Nivel de F=2 Altura de A=4 Grado de C=2 Nivel La profundidad de un árbol binario es el máximo nivel de cualquier hoja del árbol. 1. Definición y operaciones Altura: Es el nivel de la hoja en el camino mas largo desde la raiz mas 1. Por definición, la altura de un arbol vacío es -1 Grado: Es el número de hijos que tiene en ese momento el nodo Nivel de un nodo: es su distancia desde la raiz al nodo Orden: Número potencial de hijos que puede tener cada elemento de un arbol. 4
5 1. Definición y operaciones Estructuras que no son árboles binarios 1. Definición y operaciones Insertar elementos Eliminar elementos Buscar elementos Recorrer el árbol Modificar elementos Mínimo Máximo Predecedor Sucesor Guardar datos al archivo Leer datos del archivo
6 2. Implementación de árboles binarios Sea x un nodo en un árbol de búsqueda binaria. Si y es un nodo del sub-árbol izquierdo de x, entonces la clave de y clave de x. Si z es un nodo del sub-árbol derecho de x, entonces la clave de x clave de z. Por ejemplo, dos árboles de búsqueda binaria son: y x x 8 x z La propiedad del árbol de búsqueda nos permite imprimir o recorrer sus nodos en el orden de sus claves haciendo uso de un simple algoritmo recursivo. 2. Implementación de árboles binarios void insertar(tipoarbolptr *ra, int dato){ tipoarbolptr nuevo, ant, act; nuevo=crearnodo(dato); if(!nuevo) printf( No hay memoria ); else { if(*ra==null) *ra=nuevo; else { ant=*ra; act = *ra; while (act!= NULL && dato!=ant->info){ ant = act; if ( dato < ant->info) act = act->izq; else act= act->der; } if(dato == ant->info) printf( dato ya existe"); else { if(dato<ant->info) ant->izq=nuevo; else ant->der=nuevo; nuevo->p=ant; } } } } 6
7 Eliminación en un árbol de búsqueda binaria Casos: 1. Que el elemento sea un nodo hoja. 2. Que el elemento sea un nodo sin hijo izquierdo o derecho. En este caso, su único sub-árbol sube para toma el lugar del nodo.. Que el elemento posea dos sub-árboles. La eliminación puede ser por sucesor o predecesor. Si es por sucesor, el sucesor no posee hijo izquierdo, luego éste puede ser movido desde su posición a la del elemento a eliminar, pero el nodo que se liberará la memoria será el sucesor. Eliminación en un árbol de búsqueda binaria: CASO 1 Nodo hoja z
8 Eliminación en un árbol de búsqueda binaria: CASO 2. Nodo con un solo hijo 1 z Eliminación en un árbol de búsqueda binaria: CASO. Nodo con sus dos hijos (por sucesor) z z z
9 Eliminar un elemento en un árbol de búsqueda binaria Algoritmo: Verificar que el árbol no esté vacío Introducir el elemento a eliminar Buscar el elemento Si se encontró, imprimir el árbol actual indicando el elemento a eliminar. llamar a la función eliminar, pasándole como parámetros el apuntador de la raíz del árbol por referencia y el apuntador del elemento encontrado La función eliminar debe considerar los tres casos de eliminación Al eliminarlo, liberar la memoria del elemento y mostrar el árbol sin el elemento.. Recorrido de árboles binarios En orden En preorden En postorden 9
10 Ejemplo del recorrido en orden del árbol En orden (recursivo) Recorrer el árbol izquierdo en orden Visitar la raíz Recorrer el árbol derecho en orden void enorden(tipoarbolptr raiz){ if(raiz!=null){ enorden(raiz->izq); printf("%d",raiz->num); enorden(raiz->der); } } Ejemplo del recorrido en preorden del árbol En preorden Visitar la raíz Recorrer el árbol izquierdo en preorden Recorrer el árbol derecho en preorden
11 Ejemplo del recorrido en postorden del árbol En postorden Recorrer el árbol izquierdo en postorden Recorrer el árbol derecho en postorden Visitar la raíz Modificar algún elemento Prototipo de función void modificar(*raiz,dato); Algoritmo: 1. Buscar el elemento 2. Si se encontró el elemento Pedir que campo modificar. Sino Informar que no se encontró el elemento 4. Fin 11
12 . Árboles balanceados Es un árbol binario de búsqueda que tiene como objetivo realizar reacomodos o balanceos después de inserciones o eliminaciones de elementos. AVL B 2-. Árboles balanceados AVL Estos árboles fueron nombrados por sus desarrolladores Adelson-Velskii y Landis Agrega la propiedad de altura para balancear el árbol en caso necesario. typedef struct arbolavl{ int info; int fe; //factor de equilibrio struct arbolavl *izq; //apuntador al hijo izq. struct arbolavl *der; //apuntador al hijo der. }tipoarbolavl; typedef tipoarbolavl * tipoarbolavlptr; 12
13 . Árboles balanceados AVL Propiedad: Que la altura de los subárboles de cada nodo difiere en no más de 1. Esto es, la altura B=h d -h i : -1<=B<=1 Para mantenerlo balanceado es necesario saber la altura o la diferencia en alturas de todos los subárboles. Se necesita un campo FE (Factor de Equilibrio) en cada nodo, como un contador de la diferencia entre las alturas de sus subárboles. Principal característica: excelente tiempo de ejecución para las operaciones de (búsqueda, altas y bajas) Ejemplo, árbol balanceado AVL 1
14 Inserción en AVL La inserción se hace siguiendo el camino de búsqueda Puede aumentar la altura de una rama, por lo cual cambiará el factor de equilibrio de dicho nodo. Implica que se retornará por el camino de búsqueda para actualizar el FE de cada nodo Se puede llegar a desbalancear por tanto rebalancear. O puede mejorar. Si el arbol A se le inserta el 2, resultará en perfectamente balanceado. Pero si se le inserta el se desbalancea El proceso termina cuando se llega a la raíz o cuando termina el rebalanceo del mismo Árbol A Árbol A + Nodo Reestructuración AVL Hay 4 casos posibles a tener en cuenta, según donde se hizo la Inserción. 1. Inserción en el Subárbol IZQ De la Rama IZQ de 2. Inserción en el Subárbol DER De la Rama DER de. Inserción en el Subárbol DER De la Rama IZQ de 4. Inserción en el Subárbol DER De la Rama IZQ de Solución: La ROTACION le devuelve el equilibrio al árbol. Rotación Simple: Caso 1 y 2: Implica a y su descendiente Rotación Doble: Caso y 4: Implica a los nodos Soluciones simétricas: En c/caso, las ramas están opuestas. 14
15 AVL: Rotación Simple AVL: Rotación Simple Luego de Insertar el Nodo 2 el árbol quedó desbalanceado. Según que rama ha crecido, la Rotación Simple puede ser por la izquierda(ii) o por la derecha(dd). Movimientos de apuntadores (ptr s). n es ptr al nodo problema. II (nuestro ej). n1 apunta a rama IZQ n->izq=n1 >der n1->der=n n=n1 DD. n1 apunta a rama DER n->der=n1 >izq n1->izq=n n=n1 n1 n n n
16 AVL: Rotación Doble AVL: Rotación Doble Movimientos de apuntadores (ptr s). n apunta al nodo problema; n1 al hijo de n con problemas, n2 al hijo de n1 DI(nuestro ej). Derecha izquierda n1->izq=n2 >der n2 >der=n1 n->der=n2 >izq n2 >izq=n n=n2 ID: izquierda derecha n1->der=n2 >izq n2 >izq=n1 n->izq=n2 >der n2 >der=n n=n2 n n1 n La solución consiste en subir el 40, pender el 0 a su izquierda y el 60 a su derecha. n2 40 n1 n
17 Ejemplos de rotaciones simples de nodos Rotación simple a la Izquierda (II) n->izq=n1 >der n1->der=n n=n1 n1 Raiz -2 n n Raiz n Raiz n1 n a) b) c) Ejemplos de rotaciones simples de nodos Rotación simple a la derecha (DD) Raiz -2 n n1 n->der=n1 >izq n1->izq=n n=n1 n1raiz n a) 1 b) 1
18 1 n1 Ejemplos de rotaciones dobles de nodos -1 Rotación izquierda derecha(id) n1->der=n2 >izq n2 >izq=n1 n->izq=n2 >der n2 >der=n Raiz n=n n2 n n1 n2 Raiz n 9 6 a) b) Ejemplos de rotaciones dobles de nodos Rotación derecha izquierda (DI) n1->izq=n2 >der n2 >der=n1 Raiz -2 n2-1 n 1 n1 12 Raiz n2 n n->der=n2 >izq n2 >izq=n n=n2 n1 6 a) b) 18
19 Ejemplo: Crear el arbol AVL a partir de la inserción de las siguientes claves. 6, 0, 2, 0, 82, 68 y 9 19
20 20
21 Eliminación en AVL La operación de eliminación en árboles balanceados consiste en quitar un nodo del árbol sin violar los principios que definen a un árbol balanceado. Se distinguen los mismos casos que en árboles binarios: CASO 1. Si el elemento a borrar es hoja, simplemente se suprime. CASO 2. Si el elemento a borrar tiene sólo un hijo, entonces tiene que sustituirse por él. CASO. Si el elemento a borrar tiene los dos hijos, entonces tiene que sustituirse por su sucesor o predecesor, dependiendo de la opción que se elija. Eliminación en AVL Para eliminar un nodo en un árbol balanceado lo primero que debe hacerse es localizar su posición en el árbol. Se elimina siguiendo los criterios establecidos anteriormente y se regresa por el camino de búsqueda, actualizando el FE de los nodos visitados. Si en alguno de los nodos se viola el criterio de equilibrio, entonces debe reestructurarse el árbol. El proceso termina cuando se llega hasta la raíz del árbol. 21
22 Eliminación en AVL Ejemplo. Dado el siguiente árbol AVL, eliminar las siguientes claves: 40,, 20, 0 y. Árboles n-arios: La estructura TRIE Un trie es una estructura de árbol en la que: Cada nodo (excepto la raíz) está etiquetado con un caracter (a,..., z) o una marca de fin (símbolo $). Un camino de la raíz a una hoja (etiquetada con $) corresponde a una palabra del diccionario. Cada nodo (excepto la raíz y las hojas) es un prefijo del conjunto. 22
23 . Árboles n-arios: La estructura TRIE Representación de diccionarios de palabras. Muchas palabras implica mucha memoria y operaciones lentas Muchas palabras tienen prefijos comunes. P. ej.: operador, operando; encontrado, -a, -os, -as... Implementaciones de Tries: Nodo-vector. cada nodo es un vector de apuntadores para acceder a los subárboles directamente. Nodo-lista. cada nodo es una lista enlazada por apuntadores que contiene las raíces de los subárboles.. Árboles n-arios: La estructura TRIE Ejemplo de representación de un árbol TRIE, con las siguientes palabras: cris, cruz, javi, juan, rafa, raquel 2
24 . Árboles n-arios: La estructura TRIE Nodo-vector [4]. Árboles n-arios: La estructura TRIE Nodo-lista 24
25 . Árboles n-arios: La estructura TRIE Aplicaciones de los árboles TRIE Diccionarios Soporta operaciones de búsqueda de palabras Comparaciones de subcadenas -> procesamiento de textos, biología computacional, etc. Referencias 1. Tenenbaum, Aaron & Langsam, Yedidyah & Augenstein, Moshe Estructuras de Datos en C. Prentice-Hall, México Deitel & Deitel Como programar en C/C++. Prentice-Hall, México. Wirth, Niklaus Algoritmos y estructura de Datos. Prentice-Hall, México. 4. Javier Campos. Técnicas Avanzadas de Programación 2
Estructura 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 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 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 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 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 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 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 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 detallesEstructura 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 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 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 detallesEstructura de Datos Tema 2. Colas. Contenido
Estructura de Datos Tema 2. Colas Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido 1. Definición y operaciones
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 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 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 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 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 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 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 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 detallesContenido. Estructura de Datos Tema 1: Pilas. 1. Definición y operaciones. 2. Implementación estática. 3. Implementación dinámica. 4.
Estructura de Datos Tema 1: Pilas Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx 1 Contenido 1. Definición y operaciones
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 detallesTemario. 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 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 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 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. 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 detallesUniversidad Tecnológica de la Mixteca
Universidad Tecnológica de la Mixteca Estructuras de datos Tema: Árboles Balanceados Integrantes López Santiago Jorge Alberto Marysol Mejía Cervantes Grupo 201-F. Semestre Marzo/2003- Julio/2003 Á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 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 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 detallesEstructuras 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 detallesUNIDAD 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 detallesUNIDAD 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 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 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 detallesDiseño y Análisis de Algoritmos con Java(I Sem. 2004) Prof. Dr.Eric Jeltsch F.
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,
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 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 detallesProgramació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 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 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 detallesProgramación II Arboles Binarios(AB)
Programación II Arboles Binarios(AB) Definición Un árbol consta de un conjunto finito de elementos, denominados nodos, y un conjunto finito de líneas dirigidas, denominadas enlaces, que conectan los nodos.
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 detallesUna clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos
Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Definición formal del lenguaje por comprensión L = {C n D m \ n,m >0 Donde C representa
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 detallesUNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS OBJETIVO GENERAL MÉTODOS DIDÁCTICOS EVALUACIÓN
UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS MATERIA: ESTRUCTURAS DE DATOS HRS. T/P: 2/3 CARRERA: LIC. EN TECNOLOGÌAS DE INFORMACIÓN CRÉDITOS:
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 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 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 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 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 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 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 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 detallesAlgoritmos 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 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 detallesFUNDAMENTOS DE PROGRAMACIÓN Datos recursivos II
FUNDAMENTOS DE PROGRAMACIÓN Datos recursivos II Ángela Villota Gómez Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle Primera parte: Repaso de funciones con
Más detallesLISTAS ENLAZADAS FUNDAMENTOS TEORICOS
LISTAS ENLAZADAS FUNDAMENTOS TEORICOS Una lista enlazada es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta al siguiente elemento por un «enlace»
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 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 detallesEstructura de Datos Árboles Árboles 2-3
Estructura de Datos Árboles 1-2-3 Árboles 2-3 Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 1 Arboles 1-2-3 Árbol n-ario ordenado de orden 3 Cada nodo tiene 1 ó 2 elementos 75 Nodo
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 - 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 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 detallesAPUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.
APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido
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 detallesExisten 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 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 detallesDEFINICION. 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 balanceados. Alonso Ramírez Manzanares Computación y Algoritmos 28.04.2015 1. Thursday, April 30, 15
Árboles balanceados Alonso Ramírez Manzanares Computación y Algoritmos 28.04.2015 1 Árboles balanceados Los algoritmos en árboles binarios de búsqueda dan buenos resultados en el caso promedio pero el
Más detalles2. Con una lista ordenada, aunque la localización y eliminación es rápida el problema es en la inserción de datos pues puede ser del orden de O(n).
Capítulo 7 Heap 7.1 Introducción Una cola de prioridad es una estructura de datos apropiada cuando la tarea más importante es localizar y/o eliminar el elemento con valor menor de una colección. Ejemplo
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 detallesUniversidad 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Árboles RN Montículos
Árboles RN Montículos Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Árbol AVL Árbol AVL Balanceo cuatro posibilidades que requieren rotación
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 detallesEstructuras 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 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 detallesAsignaturas antecedentes y subsecuentes Programación II, Programación IV
PROGRAMA DE ESTUDIOS Programación III Área a la que pertenece: Área Sustantiva Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0084 Asignaturas antecedentes y subsecuentes Programación
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 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 detallesLISTAS. Prof. Ing. M.Sc. Fulbia Torres
LISTAS ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS LISTAS Definición. Representación de Listas. Lista Lineal Simplemente Enlazada. Operaciones TAD LLSE. Implementación Dinámica. Otras
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 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 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 detalles1.- IDENTIFICACION: PYPE-01
1.- IDENTIFICACION: PYPE-01 ESCUELA: Universidad Tecnológica de la Mixteca ASIGNATURA: Estructura de Datos CLAVE: 0023 GRADO: Licenciatura en Ingeniería en Computación, Segundo Semestre TIPO ASIGNATURA:
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 detalles