El TAD Árbol. El TAD Árbol
|
|
- María Victoria Poblete Palma
- hace 6 años
- Vistas:
Transcripción
1 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 terminología básica 3.2 Árbol n-ario Especificación algebraica Implementación 3.3 Árbol binario Especificación algebraica Implementación 3.4 Recorridos sobre árboles 3.5 Árboles binarios de búsqueda (ABB) Especificación algebraica Implementación Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva Árboles binarios equilibrados 3.7 Árboles B, B + y B * 3.8 Colas de prioridad y montículos Duración! 7 clases (10,5 h) Bibliografía! Estructuras de datos: especificación, diseño e implementación Autor: Xavier Franch Gutiérrez Editorial : Ediciones UPC, 1999 Págs ! Estructuras de datos. Algoritmos, abstracción y objetos Autor: Luis Joyanes Aguilar, Ignacio Zahonero Martínez Editorial: McGraw-Hill Págs Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 2
2 3.1 Concepto, definiciones y terminología básica! Los árboles son estructuras que organizan sus elementos, denominados nodos, formando jerarquías. De entre estos nodos existe uno especial denominado raíz! Existe una relación (de paternidad entre los nodos) que hace que la estructura sea jerárquica frente a la estructura lineal! El uso de los árboles está muy extendido en programación. Algunos ejemplos pueden ser:! estructurar los directorios y archivos en los sistemas operativos! representar la estructura de las fórmulas matemáticas! organizar la información en los SGBD! representar la estructura sintáctica de un programa fuente en los compiladores! representar sistemas de clasificación Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 3! La definición recursiva de árbol es: Un árbol n-ario (con n 1) es un conjunto no vacío de elementos o nodos del mismo tipo tal que:! un único nodo es un árbol, llamado raíz del árbol! el resto de los elementos se distribuyen en m (0 m n) subconjuntos disjuntos, denominados subárboles, cada uno de los cuales es a su vez un árbol n-ario! Un árbol con raíz x y subárboles A 1,, A m se representa de la siguiente forma: x A 1... A m Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 4
3 ! Podemos clasificar los árboles atendiendo a diferentes criterios: " Cuando existe una relación de orden total en el conjunto de los subárboles de un árbol n-ario, el árbol se llama ordenado (será el que utilizaremos) " Si no existe limitación para el número de hijos que pueda tener un nodo, el árbol se denomina general. Por el contrario, si existe un número fijo n que limita el número de hijos de un nodo, el árbol se denomina n-ario " Cuando los nodos de una árbol contienen información (caso más habitual), el árbol se denomina etiquetado Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 5 Terminología Básica H A B C D E F G I J K L M Nodo: Cada posición dentro del árbol junto con la información asociada Si existe una arista (rama) dirigida del nodo n al nodo m, entonces n es el padre de m y m es un hijo de n Los hijos del mismo padre se denominan hermanos Todos los nodos de un árbol menos uno, denominado nodo raíz, tienen un único padre Una hoja de un árbol es un nodo que no tiene hijos. El resto de los nodos se denominan interiores o internos Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 6
4 Terminología Básica H A B C D E F G I J K L M Se denomina camino del nodo n 1 al nodo n k a la secuencia de nodos de un árbol n 1, n 2,, n k, de forma que n i es el padre de n i+1 (1 i k) La longitud de un camino es el número de nodos del camino menos 1. Por convenio, decimos que existe un camino de longitud 0 de un nodo a sí mismo Si existe un camino desde un nodo n 1 hasta un nodo n 2, se dice que n 1 es antecesor de n 2, y n 2 es descendiente de n 1 El padre de un subárbol o nodo es su primer antecesor propio. Los hijos de un subárbol o nodo son sus primeros descendientes propios Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 7 Terminología Básica A B C D E F G H I J K L M La altura de un nodo en un árbol es la longitud del camino desde dicho nodo a la hoja más lejana que sea alcanzable desde él La altura de un árbol es la altura del nodo raíz La profundidad o nivel de un nodo en un árbol es la longitud del único camino existente desde el nodo raíz hasta dicho nodo Por definición, el número de niveles de un árbol se define como uno más el nivel de la hoja más profunda. En el nivel 0 sólo está el nodo raíz El grado de un árbol es el número máximo de hijos que pueden tener sus subárboles El número máximo de nodos en el nivel i-ésimo de un árbol de grado n es n i Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 8
5 3.2 Especificación Algebraica! La operación básica de la signatura de los árboles es la de enraizar un número indeterminado de árboles para formar un nuevo árbol! La sintaxis de las especificaciones algebraicas no permite declarar operaciones con un número indeterminado de parámetros! Debemos definir nuevos conceptos que nos ayuden a construir la especificación algebraica " Un bosque ordenado de grado n (n 1) es una secuencia A 1,, A m (0 m n) de árboles n-arios ordenados. Si m = 0, el bosque se llama vacío " Un árbol n-ario ordenado se genera a partir de un elemento r y un bosque de grado n, considerando al elemento r la raíz del nuevo árbol y el bosque como sus subárboles " Definimos el tipo bosque como una lista en la que los elementos son árboles Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 9 espec arbolesordenados usa booleanos, naturales, listas parámetro formal género elemento fpf renombrar lista<árbol> por bosque géneros árbol operaciones _ Θ _ : elemento bosque # árbol raíz: árbol # elemento hijos: árbol # bosque parcial subárbol: árbol natural # árbol numhijos: árbol # natural hoja?: árbol # booleano altura: árbol # natural privada altbosque: bosque # natural Gen (árbol) = { _ Θ _ } Mod (árbol) = {subárbol} Obs (árbol) = {raíz, hijos, numhijos, hoja?, altural} Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 10
6 dominios de definición b: bosque; i: natural; e: elemento subárbol (e Θ b, i) está definido sólo si (1 i) (i long (b)) ecuaciones b: bosque; i: natural; e: elemento; a: árbol raíz (e Θ b) = hijos (e Θ b) = subárbol (e Θ b, i) = numhijos (e Θ b) = hoja? (e Θ b) = altura (a) = altbosque ([ ]) = altbosque (+izq (a, b)) = fespec Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva Implementación del árbol n-ario! La implementación se hará de forma dinámica mediante punteros, usando una representación denominada primogénito siguiente hermano " Consiste en crear, para cada nodo, una lista dinámica con sus hijos! el tipo árbol es un puntero a un objeto con tres propiedades: la información correspondiente al elemento raíz, un puntero al objeto correspondiente al primer hijo, y otro puntero al objeto correspondiente al siguiente hermano 3 a Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 12
7 módulo TadArbol importa TadElemento, TadNodoArbol, TadLista exporta tipo bosque = lista<árbol> árbol = clase público constructor plantar (e: elemento; b: bosque) función observaraíz: elemento acción hijos (var b: bosque) acción subárbol (i: natural; var sa: árbol) función numhijos: natural función eshoja: booleano función altura: natural acción copia (a: árbol) acción libera privado raiz: PtrNodoArbol; fclase; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 13! Se define una clase NodoArbol, que representa a cada uno de los nodos que forman un árbol tipo PtrNodoArbol = puntero a NodoArbol; nodoarbol = clase público constructor creanodoarbol(e: Elemento; ph,sh:ptrnodoarbol); acción setelemento(e: Elemento); acción setprimhijo(pph: PtrNodoArbol); acción setsighermano(psh: PtrNodoArbol); función getelemento: Elemento; acción getprimhijo: PtrNodoArbol; función getsighermano: PtrNodoArbol; privado elem: Elemento; PrimHijo, SigHermano: PtrNodoArbol; fclase; ftipo; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 14
8 acción árbol.plantar (e:elemento; b:bosque) faccion; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 15 función árbol.subárbol(i: natural; var sa: árbol); función árbol.altura:natural ffunción; faccion; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 16
9 3.4 Concepto, especificación e implementación de árbol binario! Un árbol binario ordenado es un árbol en el que cada nodo puede tener, a lo sumo, dos hijos $ es un conjunto de nodos del mismo tipo que, o bien es el conjunto vacío, o está formado por un nodo raíz enlazado a dos árboles binarios disjuntos denominados subárbol izquierdo y subárbol derecho t m k h f d Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 17 Especificación Algebraica espec arbolesbinarios usa booleanos, enteros parámetro formal género elemento fpf género arbin operaciones : # arbin _ < _, _ >: elemento arbin arbin # arbin parcial raíz: arbin # elemento parcial subizq, subder: arbin # arbin vacío?: arbin # booleano parcial altura: arbin # entero dominios de definición iz, de: arbin; e: elemento Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 18
10 ecuaciones iz, de: arbin; e: elemento raíz (e<iz, de>) = subizq (e<iz, de>) = subder (e<iz, de>) = vacío? ( ) = vacío? (e<iz, de>) = altura (e<iz, de>) = fespec Clasificación de las operaciones: Gen (arbin) = { } Mod (arbin) = { } Obs (arbin) = { } Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 19 Implementación del árbol binario! La clase NodoB, que representa a cada uno de los nodos que forman un árbol binario, es: tipo PtrNodo = puntero a NodoB; nodob = clase público constructor creanodo(e: Elemento; izq,der:ptrnodo); acción setelemento(e: Elemento); acción setizq(pizq: PtrNodo); acción setder(pder: PtrNodo); función getelemento: Elemento; acción getizq: PtrNodo; función getder: PtrNodo; privado elem: Elemento; izq, der: PtrNodo; fclase; ftipo; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 20
11 Implementación del árbol binario módulo TadArbolBinario importa TadElemento, TadNodoB exporta tipo arbin= clase público constructor creavacío acción plantar (e: elemento; ai, ad: arbin) función raíz: elemento acción subizq ( var ai: arbin) acción subder ( var ad: arbin) función esvacío: booleano función altura (a: arbin): entero acción copia ( viejo: arbin) acción libera privado raíz: PtrNodo; fclase; raíz dato izq der Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 21 Tipos de árboles binarios! Un árbol binario de altura h se llama completo si tiene todas sus hojas a nivel h y todos sus nodos interiores tienen dos hijos no vacíos! Un árbol binario de altura h se llama semicompleto si los nodos de nivel h y h-1 son los únicos de grado cero o uno, de forma que las hojas del último nivel ocupan las posiciones más a la izquierda de dicho nivel Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 22
12 3.4 Recorridos sobre árboles Los dos tipos básicos de recorrido para los árboles n-arios ordenados son: PREORDEN - si A no tiene hijos, se visita la raíz de A - si los tiene, primero se visita la raíz de A y, a continuación, se recorren en preorden los subárboles POSTORDEN - si A no tiene hijos, se visita la raíz de A - si los tiene, primero se recorren en postorden los subárboles y a continuación se visita la raíz de A recorrido en preorden: recorrido en postorden: Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 23 Implementación para árboles n-arios acción preorden (a: árbol; var l: lista); acción postorden (a: árbol; var l: lista) facción; facción; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 24
13 Implementación para árboles binarios Para los árboles binarios existe otro tipo de recorrido: INORDEN - si A es el árbol vacío, termina el recorrido - si no lo es, primero se recorre en inorden el subárbol izquierdo, a continuación se visita la raíz de A y, por último, se recorre en inorden el subárbol derecho. acción preorden (a: arbin; var l: lista) acción postorden (a: arbin; var l: lista) facción facción Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 25 Implementación para árboles binarios acción InOrden (a: arbin; var l: lista) B A C D E F G facción H K I J Recorrido preorden: Recorrido inorden: Recorrido postorden: Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 26
TAD Lineales: Pila, Cola y Lista
TAD Lineales: Pila, Cola y Lista Objetivos! Dar a conocer los TAD lineales pila, cola y lista! Presentar la especificación de cada uno de los TAD! Discutir implementaciones alternativas para cada uno 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 detallesTipos Abstractos de Datos
Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal
Más detallesEl TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Más detallesTEORÍA DE GRAFOS Ingeniería de Sistemas
TEORÍA DE GRAFOS Ingeniería de Sistemas Código: MAT-31114 AUTORES Ing. Daniel Zambrano Ing. Viviana Semprún UNIDADES DE LA ASIGNATURA» UNIDAD I. Relaciones» UNIDAD II. Estructuras Algebraicas» UNIDAD III.
Más detallesEstructuras de datos. Estructuras de datos
Un arbol es un conjunto de nodos que cumplen con las relaciones padre, hijo y hermano. Llamamos hijos de un nodo a todos los nodos que podemos llegar directamente por medio de un apuntador hacia ellos
Más detallesEstructuras de datos: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge santiago.jorge@udc.es Árboles binarios de búsqueda, Table of Contents
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. 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 detallesTecnólogo Informático- Estructuras de Datos y Algoritmos- 2009
Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier
Más detallesESTRUCTURAS DE DATOS ÁRBOLES 143
ESTRUCTURAS DE DATOS ÁRBOLES 143 TEMA 4. ÁRBOLES 4.1. CONCEPTOS GENERALES. Un árbol es una estructura de datos ramificada (no lineal) que puede representarse como un conjunto de nodos enlazados entre sí
Más detallesUNIDAD 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 detallesAmpliación de Estructuras de Datos
Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesNIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS
1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para
Más detallesTabla de Símbolos. Programación II Margarita Álvarez
Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados
Más detallesCapítulo 6. ÁRBOLES.
67 Capítulo 6. ÁRBOLES. 6.1 Árboles binarios. Un árbol binario es un conjunto finito de elementos, el cual está vacío o dividido en tres subconjuntos separados: El primer subconjunto contiene un elemento
Más detallesPRÁ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 detalles3. COLA DE PRIORIDAD DEFINICION (I)
3. COLA DE PRIORIDAD DEFINICION (I) Conjunto de elementos ordenados con las operaciones: Crear ( ) > ColaPrioridad EsVacio () > Boolean Insertar (ColaPrioridad, Item) > ColaPrioridad BorrarMínimo (ColaPrioridad)
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 detallesArboles Binarios de Búsqueda
Arboles Binarios de Búsqueda Algoritmos y Estructuras de Datos Departamento de Electricidad y Electrónica (UPV/EHU) Arboles Binarios de Búsqueda p.1/52 Arboles Binarios Arbol binario: árbol ordenado de
Más detalles14. ÁRBOLES. 14.1 Fundamentos y terminología básica
Ricardo Ferrís / Jesús Albert Algoritmos y estructuras de datos I 14. ÁRBOLES 14.1 FUNDAMENTOS Y TERMINOLOGÍA BÁSICA... 79 14.2. ÁRBOLES BINARIOS... 81 14.3. FUNDAMENTOS... 82 14.3. OPERACIONES CON ÁRBOLES
Más detallesTema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios
Tema 10- Representación Jerárquica: Árboles Binarios Tema 10- Representación Jerárquica: Árboles Binarios Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia
Más detallesTema: Los Grafos y su importancia para la optimización de redes.
Tema: Los Grafos y su importancia para la optimización de redes. Qué son los Grafos? Un grafo es una dupla G= {X,U}, donde X es un conjunto finito y no vacio de elementos llamados vértices y U es el conjunto
Más detallesÁRBOLES BINARIOS 2002. GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny
ÁRBOLES BINRIOS 2002 GRUPO # 22 lumnos: guilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny ESTRUCTURS DE DTOS TEM 6 Estructuras de datos no lineales. Árboles binarios ÍNDICE 6.1. Introducción.
Más detalles: Algorítmica y Estructura de Datos I
FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria
Más detallesUNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA
UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA I. DATOS DE IDENTIFICACION 1. Unidad Académica: Facultad de Ciencias 2. Programa (s) de estudio: Licenciatura
Más detalles7. Agrupamiento (clustering)
7. Agrupamiento (clustering) INMUEBLES y CONTRATOS I IA4 En medio, 8 Centro Castellón 600 C 004 Q6 600 Visa 00 S /6/99 /5/00 I IL94 Riu Ebre, 4 Ronda Sur Castellón 50 C 0075 Q76 50 Efectivo 700 N //00
Más detalles324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2
324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN:
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesFunciones: Aspectos básicos
Funciones: Aspectos básicos Nombre: Curso:.. Producto cartesiano En teoría de conjuntos, el producto cartesiano de dos conjuntos es una operación que resulta en otro conjunto cuyos elementos son todos
Más detallesRelaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad
Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean
Más detallesá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 detallesARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Características ARBOLES - CONCEPTOS Cada elemento del árbol se relaciona con cero o más elementos a quienes llama hijos. Si el árbol no
Más detallesÁrbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción
Árbol binario Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción Un Árbol Binario es un conjunto finito de Elementos, de nombre Nodos de forma que: El Árbol Binario
Más detallesGRAMATICAS LIBRES DEL CONTEXTO
GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.
Más detallesCapítulo 6. Relaciones. Continuar
Capítulo 6. Relaciones Continuar Introducción Una relación es una correspondencia entre dos elementos de dos conjuntos con ciertas propiedades. En computación las relaciones se utilizan en base de datos,
Más detallesClases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.
Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete
Más detallesIntroducción a los códigos compresores
Introducción a los códigos compresores Parte I de la Lección 2, Compresores sin pérdidas, de CTI Ramiro Moreno Chiral Dpt. Matemàtica (UdL) Febrero de 2010 Ramiro Moreno (Matemàtica, UdL) Introducción
Más detallesTeoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales
Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción
Más detallesUniversidad Centroccidental Lisandro Alvarado. Decanato de Ciencias y Tecnología Departamento de Sistemas
Universidad Centroccidental Lisandro Alvarado Decanato de Ciencias y Tecnología Departamento de Sistemas PROGRAMA INSTRUCCIONAL PROGRAMA: ANALISIS DE SISTEMAS DEPARTAMENTO: SISTEMAS ASIGNATURA: INTRODUCCIÓN
Más detallesNotas de Clase. Prof. Juan Andrés Colmenares, M.Sc. Instituto de Cálculo Aplicado Facultad de Ingeniería Universidad del Zulia. 21 de febrero de 2004
Árboles Notas de Clase Prof. Juan Andrés Colmenares, M.Sc. Instituto de Cálculo Aplicado Facultad de Ingeniería Universidad del Zulia 21 de febrero de 2004 Índice 1. Definición 1 2. Términos Básicos 2
Más detallesTema 6. Gestión dinámica de memoria
Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la
Más detallesDES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios:
UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: INGENIERÍA DE SOFTWARE Y COMPUTACIÓN I DES: Programa(s) Educativo(s): Tipo de materia: Clave
Más detallesGuía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Más detallesUNIVERSIDAD DEL ISTMO PROGRAMA DE ESTUDIO
1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3013 GRADO: ING. EN COMPUTACION, PRIMER SEMESTRE TIPO DE TEÒRICA ANTECEDENTE CURRICULAR: -----.- OBJETIVO GENERAL Otorgar al participante el conocimiento
Más detallesEs 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 detallesUniversidad Autónoma Metropolitana Unidad Azcapotzalco. División de Ciencias Básicas e Ingeniería. Licenciatura en Ingeniería en Computación
Universidad Autónoma Metropolitana Unidad Azcapotzalco División de Ciencias Básicas e Ingeniería Licenciatura en Ingeniería en Computación Propuesta de Proyecto Terminal Clasificación de servicios web
Más detalles3. ESTRUCTURAS DE DATOS NO LINEALES
3. ESTRUCTURAS DE DATOS NO LINEALES 3.1 Conjuntos 3.2 Árboles 3.3 Grafos 1 3.1 Conjuntos Índice Introducción Especificación del TAD TipoConjunto Implementaciones del TAD TipoConjunto Programación usando
Más detallesPLAN DE MATERIAS ACADEMUSOFT 3.2
FACULTAD DE: _Ingenierías y Tecnológicas PROGRAMA DE: Ingeniería de Sistemas NOMBRE DE LA MATERIA: Programación II Semestre: III Código: _IS006SA No de Créditos 4 H. Teórica: 4 H. Práctica 2 H. Teórica-Practica
Más detallesARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un
Más detallesPROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I
PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I Table of contents 1 INFORMACIÓN GENERAL...2 2 INTRODUCCIÓN... 2 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 4 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...6
Más detalles13. Utilizar la fórmula del término general y de la suma de n términos consecutivos
Contenidos mínimos 3º ESO. 1. Contenidos. Bloque I: Aritmética y álgebra. 1. Utilizar las reglas de jerarquía de paréntesis y operaciones, para efectuar cálculos con números racionales, expresados en forma
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 Recordatorio... Se acerca la fecha de la primera entrega
Más detalles4 E.M. Curso: Unidad: Estadísticas Inferencial. Colegio SSCC Concepción. Depto. de Matemáticas. Nombre: CURSO: Unidad de Aprendizaje: FUNCIONES
Colegio SSCC Concepción Depto. de Matemáticas Unidad de Aprendizaje: FUNCIONES Capacidades/Destreza/Habilidad: Racionamiento Matemático/Calcular/ Resolver Valores/ Actitudes: Curso: E.M. 10 Respeto, Solidaridad,
Más detallesToda copia en PAPEL es un "Documento No Controlado" a excepción del original.
S U P E RIO R DE MISANTLA Apartado: 7. Copia No. Código: PD- AEF-04 Versión No.: 03 Hoja : de Analiza y resuelve problemas computacionales utilizando las técnicas básicas de lógica e inducción matemática.
Más detallesEjemplos de TAD (tipos simples)
ESPECIFICACIÓN BOOLEANOS TAD booleano Ejemplos de TAD (tipos simples) T : booleano { valor cierto } F : booleano { valor falso } : booleano booleano : booleano, booleano booleano : booleano, booleano booleano
Más detallesUNIVERSIDAD DR. JOSE MATIAS DELGADO
NOMBRE DE LA ASIGNATURA: PROGRAMACION DE COMPUTADORAS 1 a. Generalidades. Duración del Ciclo en Semanas: Número de Orden: 16 Código: PRC1 16 Ciclo Académico: Duración/Hora Clase: 50 III minutos Prerrequisito
Más detalles(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es
Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero
Más detallesAlgoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
Más detallesAlgebra Lineal. Gustavo Rodríguez Gómez. Verano 2011 INAOE. Gustavo Rodríguez Gómez (INAOE) Algebra Lineal Verano / 21
Algebra Lineal Gustavo Rodríguez Gómez INAOE Verano 2011 Gustavo Rodríguez Gómez (INAOE) Algebra Lineal Verano 2011 1 / 21 Espacios Vectoriales Espacios Vectoriales INAOE Gustavo Rodríguez Gómez (INAOE)
Más detallesOtra forma de enumerar los resultados es en una tabla de frecuencia:
Materia: Matemática de Séptimo Tema: Intervalo de Clases e Histogramas Qué pasa si quisieras matar algo tiempo mientras esperas tu vuelo de conexión en el aeropuerto? Empiezas a contar el número de personas
Más detallesBASES DE DATOS TEMA 2 MODELOS DE DATOS
SES DE DTOS TEM 2 MODELOS DE DTOS Un modelo de datos es una serie de conceptos que puede utilizarse para describir un conjunto de datos y las operaciones para manipularlos. Hay dos tipos de modelos de
Más detallesALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6]
ALGEBRA DE BOOLE El álgebra booleana, como cualquier otro sistema matemático deductivo, puede definirse con un conjunto de elementos, un conjunto de operadores y un número de axiomas no probados o postulados.
Más detallesProgramación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia
Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las
Más detallesInstituto de Computación - Facultad de Ingeniería - Universidad de la República
Parcial de Programación 2 Julio de 2011 Generalidades: La prueba es individual y sin material. Duración: 3hs. Sólo se contestan dudas acerca de la letra de los ejercicios. Escriba las hojas de un sólo
Más detallesFundamentos de programación y Bases de Datos
Fundamentos de programación y Bases de Datos Duración: 25.00 horas Descripción En la actualidad la mayoría de nuestra vida esta basada en el uso de programas informáticos. Para desarrollar un programa
Más detallesMATEMÁTICAS BÁSICAS. Autoras: Margarita Ospina Pulido Jeanneth Galeano Peñaloza Edición: Rafael Ballestas Rojano
MATEMÁTICAS BÁSICAS Autoras: Margarita Ospina Pulido Jeanneth Galeano Peñaloza Edición: Rafael Ballestas Rojano Universidad Nacional de Colombia Departamento de Matemáticas Sede Bogotá Enero de 2015 Universidad
Más detallesTema 2. Fundamentos de la Teoría de Lenguajes Formales
Departamento de Tecnologías de la Información Tema 2. Fundamentos de la Teoría de Lenguajes Formales Ciencias de la Computación e Inteligencia Artificial Índice 2.1. Alfabeto 2.2. Palabra 2.3. Operaciones
Más detallesELO320 Estructuras de Datos y Algoritmos. Arboles Binarios. Tomás Arredondo Vidal
ELO320 Estructuras de Datos y Algoritmos Arboles Binarios Tomás Arredondo Vidal Este material está basado en: Robert Sedgewick, "Algorithms in C", (third edition), Addison-Wesley, 2001 Thomas Cormen et
Más detallesAnálisis amortizado El plan:
Análisis amortizado El plan: Conceptos básicos: Método agregado Método contable Método potencial Primer ejemplo: análisis de tablas hash dinámicas Montículos agregables (binomiales y de Fibonacci) Estructuras
Más detallesUNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL
UNIVERSIDAD NACIONAL DE INGENIERÍA ALGORITMOS Y ESTRUCTURA CERTIFICA ORGANIZA Mayor Información: informes@uni.edu.pe Visite Nuestra Web http://www.ceps.uni.edu..pe OBJETIVOS GENERALES - Diseñar algoritmos
Más detalles1 Relaciones de orden
1 Relaciones de orden Sea R una relación binaria en un conjunto A. Si R satisface las propiedades reflexiva, antisimétrica y transitiva se dice que R es una relación de orden. En este caso si a y b son
Más detalles1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Más detallesSESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES
SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES RELACIONES BINARIAS PAR ORDENADO Es un arreglo de dos elementos que tienen un orden determinado donde a es llamada al primera componente y b es llamada la
Más detallesProcesadores de lenguaje Tema 6 La tabla de símbolos
Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de
Más detallesCINEMÁTICA: ESTUDIO DEL MOVIMIENTO. Cinemática es la parte de la Física que estudia la descripción del movimiento de los cuerpos.
CINEMÁTICA: ESTUDIO DEL MOVIMIENTO Cinemática es la parte de la Física que estudia la descripción del movimiento de los cuerpos. 1. Cuándo un cuerpo está en movimiento? Para hablar de reposo o movimiento
Más detallesCapítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
Más detallesESCUELA DE INFORMÁTICA
TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar
Más detallesSistemas Operativos Practica 1: procesos y concurrencia.
Sistemas Operativos Practica 1: procesos y concurrencia. Objetivos: Introducir al alumno a los conceptos de programa, concurrencia, paralelismo y proceso o tarea. Manejo del concepto de concurrencia haciendo
Más detallesSEMINARIO DE ESPECIFICACIONES ALGEBRAICAS
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2004/2005 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato
Más detallesEstructuras de Datos Abstractas en Lenguaje Java
Universidad de Santiago de Chile Facultad de Ingeniería Departamento de Ingeniería Industrial Estructuras de Datos Abstractas en Lenguaje Java Listas Enlazadas, Colas, Pilas y Árboles Binarios Creado por
Más detalles2. El conjunto de los números complejos
Números complejos 1 Introducción El nacimiento de los números complejos se debió a la necesidad de dar solución a un problema: no todas las ecuaciones polinómicas poseen una solución real El ejemplo más
Más detalles2. SEÑALES Y SISTEMAS DISCRETOS EN EL TIEMPO. Una señal puede ser definida como una portadora física de información. Por ejemplo,
2. SEÑALES Y SISTEMAS DISCRETOS EN EL TIEMPO Una señal puede ser definida como una portadora física de información. Por ejemplo, las señales de audio son variaciones en la presión del aire llevando consigo
Más detallesPROGRAMACIÓN UNIDADES
PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas
Más detalles(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados
Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero
Más detallesBúsqueda con adversario
Introducción Búsqueda con adversario Uso: Decidir mejor jugada en cada momento para cierto tipo de juegos Hay diferentes tipos de juegos según sus características: Numero de jugadores, toda la información
Más detallesPROGRAMACION ORIENTADA A OBJETOS EN C++
PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje
Más detallesAprendizaje Automatizado
Aprendizaje Automatizado Aprendizaje Automatizado Programas que mejoran su comportamiento con la experiencia. Dos formas de adquirir experiencia: A partir de ejemplos suministrados por un usuario (un conjunto
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Más detalles<tipo> Tipo de dato de los elementos del vector
Vectores y matrices Declaración Vector (array unidimiensional): []; Tipo de dato de los elementos del vector Identificador de la variable.
Más detallesProfesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.
Árboles Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof. Paula Echenique Una de las estructuras de datos más importantes
Más detallesGUÍA DOCENTE. Ingeniería Informática en Sistemas de Información Doble Grado:
1. DESCRIPCIÓN DE LA ASIGNATURA Grado: Ingeniería Informática en Sistemas de Información Doble Grado: Asignatura: Estructuras de Datos Módulo: Modulo 1 Departamento: Deporte e Informática Año académico:
Más detallesPlanificador de Linux (Scheduler)
Planificador de Linux (Scheduler) Profesor Gilberto Díaz gilberto@ula.ve Universidad de Los Andes Facultad de Ingeniería Departamento de Computación G. Díaz (ULA) Planificador de Linux (Scheduler) Mérida,
Más detallesLos números enteros. Dado que los enteros contienen los enteros positivos, se considera a los números naturales son un subconjunto de los enteros.
Los números enteros Con los números naturales no era posible realizar diferencias donde el minuendo era menor que el que el sustraendo, pero en la vida nos encontramos con operaciones de este tipo donde
Más detallesConectados con el pasado, proyectados hacia el futuro Plan Anual de Matemática II Año PAI VII Grado
Actualizado en febrero del 2013 Conectados con el pasado, proyectados hacia el futuro Plan Anual de Matemática II Año PAI VII Grado CONTENIDOS OBJETIVOS ESPECÍFICOS HABILIDADES CRITERIOS DE EVALUACIÓN
Más detallesEstructura de Datos: Archivos
Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un
Más detallesUn grafo G = (V, E) se dice finito si V es un conjunto finito.
1 Grafos: Primeras definiciones Definición 1.1 Un grafo G se define como un par (V, E), donde V es un conjunto cuyos elementos son denominados vértices o nodos y E es un subconjunto de pares no ordenados
Más detallesRepresentación de números enteros: el convenio exceso Z
Representación de números enteros: el convenio exceso Z Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informàtica de Sistemes i Computadors Escola Tècnica Superior d
Más detallesLaboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO
Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda
Más detalles