TAD Lineales: Pila, Cola y Lista

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

Download "TAD Lineales: Pila, Cola y Lista"

Transcripción

1 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 ellos Contenidos 2.1 Introducción 2.2 El Conceptos Especificación algebraica Implementación Consideraciones sobre TAD basados en punteros 2.3 El TAD Cola Conceptos Especificación algebraica Implementación Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 1 TAD Lineales: Pila, Cola y Lista Contenidos 2.4 El Conceptos Especificación algebraica Implementación Duración! 3 clases (4,5 h) Bibliografía! Diseño de programas. Formalismo y abstracción Autor: Ricardo Peña Marí Editorial : Prentice-Hall, 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 TAD Lineales: Pila, Cola y Lista 2.1 Introducción! Estructuras lineales importantes porque aparecen con frecuencia en muchos problemas! Ejemplos: una cola de clientes de un banco, la pila de ejecución de un programa, los caracteres de una cadena o las páginas de un libro! Características:! existe un elemento llamado primero! existe un elemento llamado último! cada elemento, excepto el primero, tiene un único predecesor! cada elemento, excepto el último, tiene un único sucesor Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 3 TAD Lineales: Pila, Cola y Lista! Operaciones básicas:! crear la estructura vacía! insertar un elemento! borrar un elemento! obtener un elemento! Para definir claramente el comportamiento de la estructura es necesario determinar en qué posición se inserta un elemento nuevo y qué elemento se borra o se obtiene! Principales estructuras lineales: pilas, colas y listas Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 4

3 2.2 El Conceptos! Una pila es un contenedor de objetos que son insertados y eliminados de acuerdo con el principio de que el último en entrar es el primero en salir (LIFO, Last Input First Output)! Los elementos se insertan de uno en uno (apilar)! Se sacan en el orden inverso al cual se han insertado (desapilar)! El único elemento que se puede observar dentro de la pila es el último insertado (cima) Apilar a 3 a 2 a 1 Desapilar Cima de la pila Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 5! Aplicaciones:! estructuras auxiliares en numerosos algoritmos y esquemas de programación: " recorridos de árboles y grafos " evaluación de expresiones " conversión entre notaciones de expresiones (postfija, prefija, infija)! gestión de los registros de activación de los subprogramas activos durante la ejecución de un programa! los editores de texto proporcionan normalmente un botón deshacer que cancela las operaciones de edición recientes y restablece el estado anterior del documento. La secuencia de operaciones recientes se mantiene en una pila! los navegadores permiten habitualmente volver hacia atrás en la secuencia de páginas visitadas. Las direcciones de los sitios visitados se almacenan en una pila Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 6

4 2.2.2 Especificación algebraica espec pilas usa booleanos parámetro formal género elemento fpf género pila operaciones creapila: # pila apilar: pila elemento # pila parcial desapilar: pila # pila parcial cima: pila # elemento vacía?: pila # booleano dominios de definición p: pila; e: elemento desapilar (apilar (p,e)) cima (apilar (p,e)) ecuaciones p: pila; e: elemento desapilar (apilar (p,e)) = p cima (apilar (p,e)) = e vacia? (crearpila) = verdad vacia? (apilar (p,e)) = falso fespec Gen (pila) = {creapila, apilar} Cons (pila) = Mod (pila) = {desapilar} Obs (pila) = {cima, vacía?} Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 7! El conjunto de generadoras es libre, ya que cualquier término formado por las operaciones generadoras denota siempre un valor distinto del! Los patrones necesarios para representar todas las posibles pilas se obtienen del conjunto de las operaciones generadoras! creapila: representa la pila sin ningún elemento (pila vacía)! apilar(p,e): representa cualquier pila con, al menos, un elemento! Las operaciones desapilar y cima no están definidas para la pila vacía! La parametrización en las especificaciones sirve para formular una descripción genérica, que podrá dar lugar a diversas especificaciones concretas Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 8

5 2.2.3 Implementación Mediante una tabla elementos e 1 e 2 e 3 e n 1 indcima n 2 3 n max constante max = valor arbitrario fconstante; tipo pila = clase constructor creapila; acción apilar (e: elemento); acción desapilar; función cima: elemento; función esvacía: booleano elementos: tabla [1..max] de elemento; indcima: 0..max; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 9 e 1 e 2 e 3 e n 1 elementos n indcima 2 3 n max constante max = valor arbitrario fconstante; tipo pila = clase constructor creapila; acción apilar (e: PtrElemento); acción desapilar; función cima: PtrElemento; función esvacía: booleano elementos: tabla [1..max] de PtrElemento; indcima: 0..max; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 10

6 ! Consideraciones:! si la pila es no vacía, el elemento almacenado en elementos[indcima] corresponde a la cima de la pila! elementos[1] fondo de la pila! indcima = 0 pila vacía! Ventaja: todas las operaciones tienen un coste temporal constante! Inconvenientes:! reservar espacio de memoria para el máximo previsto de elementos! gestionar pila llena! Opciones para controlar la parcialidad o situaciones de error 1. controlar el posible error dentro de la operación 2. proporcionar suficientes operaciones para que el propio usuario evite el error 3. devolver valores que indiquen cuál ha sido el resultado de la operación Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 11 Mediante una lista enlazada c e 1 e 2 e n tipo pila = clase constructor creapila; acción apilar (e: Elemento); acción desapilar; función cima: Elemento; función esvacía: booleano c: PtrNodo; ftipo; Ventajas:! todas las operaciones tienen un coste temporal constante! no hay limitaciones de tamaño Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 12

7 c e 1 e 2 e n tipo pila = clase constructor creapila; acción apilar (e: PtrElemento); acción desapilar; función cima: PtrElemento; función esvacía: booleano c: PtrNodo; ftipo; Ventajas:! todas las operaciones tienen un coste temporal constante! no hay limitaciones de tamaño Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 13! Se define una clase Nodo, que representa a cada uno de los objetos que forman la lista enlazada tipo PtrNodo = puntero a Nodo; nodo = clase constructor creanodo(e: Elemento; psig: PtrNodo); acción setelemento(e: Elemento); acción setsig(psig: PtrNodo); función getelemento: Elemento; función getsig: PtrNodo; elem: Elemento; sig: PtrNodo; ftipo; tipo PtrElemento = puntero a Elemento; PtrNodo = puntero a Nodo; nodo = clase constructor creanodo(pe: PtrElemento; psig: PtrNodo); acción setelemento(pe: PtrElemento); acción setsig(psig: PtrNodo); función getelemento: PtrElemento; función getsig: PtrNodo; elem: PtrElemento; sig: PtrNodo; ftipo; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 14

8 TAD Lineales: Pila, Cola y Lista Consideraciones sobre TAD basados en punteros! Si se realiza una asignación entre dos variables de tipo puntero (ej., p := q), no se realiza una copia del valor del tipo (p.e. una pila completa), sino que se duplica la forma de acceder a ella p q p q Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 15! Método de la clase pila para realizar una copia acción pila.copia (p: pila); var pv, n, antn: PtrNodo; fvar; inicio self.creavacía; pv = p.c; si pv nulo entonces reservar (n, creanodo(pv^.getelem, nulo); c := n; antn := n; pv := pv^.getsig; mientras pv nulo hacer reservar (n, creanodo(pv^.getelem, nulo); antn^.setsig(n); antn := n; pv := pv^.getsig; fmientras; facción; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 16

9 TAD Lineales: Pila, Cola y Lista! Cuando dejamos de necesitar una estructura dinámica, debemos ocuparnos de liberar la memoria! Método destructor para la clase pila: destructor pila.liberar; inicio mientras self.esvacía hacer self.desapilar; fmientras; facción; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 17 TAD Cola 2.3 El TAD Cola Conceptos! Los elementos se añaden por el extremo final, y se eliminan por el extremo opuesto: frente! El único elemento observable en todo momento es el primero que fue insertado! Se le suele denominar estructura FIFO (First Input First Output). Aplicaciones $ Colas de trabajos a realizar por una impresora $ Asignación de tiempo de procesador a los procesos en un sistema multiusuario (sin prioridad) $ Simular situaciones reales: cajero automático, llamadas en espera, Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 18

10 TAD Cola Especificación algebraica espec colas usa booleanos parámetro formal género elemento fpf género cola operaciones creacola: # cola añadir: cola elemento # cola parcial eliminar: cola # cola parcial primero: cola # elemento vacía?: cola # booleano dominios de definición c: cola; e: elemento eliminar (añadir (c,e)) primero (añadir (c,e)) Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 19 TAD Cola ecuaciones c: cola; e: elemento eliminar (añadir (c,e)) = si vacia?(c) entonces creacola sino añadir (eliminar(c), e) primero (añadir (c,e)) = si vacia?(c) entonces e sino primero(c) vacia? (creacola) = verdad vacia? (añadir (c,e)) = falso fespec Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 20

11 TAD Cola! Las operaciones son: Gen (cola) = {creacola, añadir} Mod (cola) = {eliminar} Obs (cola) = {primero, vacia?}! El conjunto de generadoras es libre, ya que cualquier término formado por las operaciones generadoras denota siempre un valor distinto del TAD Cola! Los patrones necesarios para representar todas las posibles colas se obtienen del conjunto de las operaciones generadoras creacola: representa la cola sin ningún elemento (cola vacía) añadir(c,e): representa cualquier cola con, al menos, un elemento Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 21 TAD Cola Implementación módulo TadCola cola primero último e 1 e 2 e n importa TadElemento, TadNodo exporta tipo cola= clase constructor creacola; acción añadir (e: elemento); acción eliminar; función primero: elemento; función esvacía: booleano; acción copia (c: cola); destructor liberar; primero, ultimo: PtrNodo; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 22

12 TAD Cola constructor cola.creacola inicio primero:= nulo; ultimo:= nulo; fconstructor accion cola.eliminar (* Se elimina por el principio *) var aux: PtrNodo; fvar inicio si primero = ultimo entonces ultimo := nulo; ; aux:= primero; primero:= primero^.getsig; liberar(aux) faccion acción cola.añadir (e:elemento) var nuevo: PtrNodo n: nodo ; fvar inicio si primero = nulo entonces reservar (primero, creanodo(e, nulo)); ultimo:= primero sino reservar (nuevo, creanodo(e, nulo)); ultimo^.setsig (nuevo); ultimo:= nuevo; ; faccion Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva El Conceptos! Generalización del y TAD cola! Secuencia de elementos en la que se permite el acceso para consultar, añadir o eliminar elementos en cualquier posición! Existen diversas formas de generar las listas. En nuestro caso elegimos un conjunto de operaciones pequeño y libre! Nos apoyamos en la definición recursiva de secuencia de elementos: colección de elementos del mismo tipo que: % bien es vacío, en cuyo caso se denomina secuencia vacía % bien se obtiene tras añadir por la izquierda un elemento a otra secuencia existente! Operaciones generadoras Gen (lista) = [ ] +izq (e, l) Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 24

13 2.4.2 Especificación algebraica! PRIMERA PARTE: especificación del con las operaciones de añadir, eliminar y consultar elementos por los extremos espec listas1 usa booleanos, naturales parámetro formal género elemento operaciones _ == _: elemento elemento # booleano _ _: elemento elemento # booleano fpf género lista operaciones [ ]: # lista parcial -izq: lista # lista +izq: elemento lista # lista parcial -dch: lista # lista [ _ ] : elemento # lista parcial izq: lista # elemento _ & _ : lista lista # lista parcial dch: lista # elemento +dch: lista elemento # lista longitud: lista # natural vacía?: lista # booleano está?: elemento lista # booleano Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 25 dominios de definición e: elemento; l: lista -izq (+izq (e, l)) -dch (+izq (e, l)) izq (+izq (e, l)) dch (+izq (e, l)) ecuaciones e, e1, e2: elemento; l, l1, l2: lista [e] = +izq (e, [ ]) [ ] & l = l +izq (e, l1) & l2 = +izq (e, l1 & l2) +dch ([ ], e) = +izq (e, [ ]) +dch (+izq (e1, l), e2) = +izq (e1, +dch (l, e2)) estas dos ecuaciones son equivalentes a la ecuación +dch (l, e) = l & [e] Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 26

14 -izq (+izq (e, l)) = l -dch (+izq (e, l)) = si vacía? (l) entonces [ ] sino +izq (e, -dch (l)) esta ecuación es equivalente a las ecuaciones -dch (+izq (e, [ ])) = [ ] -dch (+izq ( e1, +izq (e2, l))) = +izq (e1, -dch (+izq (e2, l))) izq (+izq (e, l)) = e dch (+izq (e, l)) = si vacía? (l) entonces e sino dch (l) esta ecuación es equivalente a las ecuaciones dch (+izq (e, [ ]) = e dch (+izq (e1, +izq (e2, l))) = dch (+izq (e2, l)) Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 27 long ([ ]) = 0 long (+izq (e, l)) = suc (long (l)) está? (e, [ ]) = falso está? (e1, +izq (e2, l)) = e1 == e2 está? (e1, l) vacía? ([ ]) = verdad vacía? (+izq (e, l)) = falso fespec Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 28

15 ! SEGUNDA PARTE: especificación del enriquecido con las operaciones de inserción, consulta y modificación en cualquier posición espec listas usa listas1 operaciones parcial insertar: lista nat elemento # lista parcial eliminar: lista nat # lista parcial modificar: lista nat elemento # lista parcial _ [ _ ] : lista nat # elemento parcial pos: elemento lista # natural {insertar elemento i-ésimo} {eliminar elemento i-ésimo} {modificar elemento i-ésimo} {elemento i-ésimo} {posición del elemento} dominios de definición e: elemento; l: lista; i: natural insertar (l, i, e) está definido sólo si (1 i) (i long (l) + 1) eliminar (l, i) está definido sólo si (1 i) (i long (l)) modificar (l, i, e) está definido sólo si (1 i) (i long (l)) l[i] está definido sólo si (1 i) (i long (l)) pos (e, l) está definido sólo si está? (e, l) Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 29 ecuaciones e, e1, e2: elemento; l: lista; i: natural insertar ([ ], i, e) = +izq (e, [ ]) { i solo puede valer 1. 1 i 1 } insertar (+izq (e1, l), i, e2)) = si i = 1 entonces +izq (e2, +izq (e1, l)) sino +izq (e1, insertar (l, i -1, e2)) eliminar (+izq (e, l), i) = si i = 1 entonces l { 1 i long (+izq (e, l)) } sino +izq (e, eliminar (l, i -1)) modificar (+izq (e1, l), i, e2) = si i = 1 entonces +izq (e2, l) { 1 i long (+izq (e, l)) } sino +izq (e1, modificar (l, i-1, e2)) Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 30

16 +izq (e, l) [i] = si i = 1 entonces e sino l [i-1] pos (e1, +izq (e2, l)) = si e1 == e2 entonces 1 sino 1 + pos (e1, l) fespec Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva Implementación dinámica! La implementación dinámica más sencilla se realiza mediante un puntero apuntando al nodo que contiene el primer elemento de la lista! Cada nodo está formado por el elemento y un puntero que apunta al siguiente nodo. El último nodo de la lista apunta a nulo tipo lista = clase { operaciones del TAD } cab: PtrNodo; ftipo; cab e 1 e 2 e n Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 32

17 ! En la siguiente tabla se observa el coste de las operaciones, para el peor caso, utilizando este tipo de representación operación crearlista añadeizq creaunitaria eliminaizq observaizq esvacía concatena añadedch observadch eliminadch coste operación coste longitud pertenece inserta elimina modifica observa posición n longitud de la lista Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 33! Ampliando la estructura del tipo, algunas operaciones pasan a ser de orden constante primero último tipo lista = clase { operaciones del TAD } primero, último: PtrNodo; num: natural; ftipo; n num e 1 e 2 e n operación coste concatena añadedch observadch longitud Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 34

18 ! Listas con punto de interés % Se define un elemento distinguido dentro de la lista % Sirve de referencia para realizar las operaciones % Puede cambiarse de elemento con funciones del tipo (poner al principio, avanzar, poner al final, etc.) % Se añade un nuevo índice que mantiene el índice del elemento distinguido y un puntero que se sitúa en el nodo inmediatamente anterior al elemento distinguido % Ejemplo: línea de texto en un procesador de textos tipo lista = clase { operaciones del TAD } primero, último, actual: PtrNodo; num, indactual: natural; ftipo; operación insertar eliminar modificar observa posición coste Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 35 Definición del tipo lista = clase constructor crearlista; acción añadeizq (e: elemento); acción concatena (l: lista); acción creaunitaria (e: elemento); acción añadedch (e: elemento); acción eliminaizq; acción eliminadch; función observaizq: elemento; función observadch: elemento; función longitud: entero; función pertenece (e: elemento): booleano; función esvacía: booleano; acción inserta (i: entero; e: elemento); acción elimina (i: entero); acción modifica (i: entero; e: elemento); función observa (i: entero): elemento; función posición (e: elemento): natural; acción copia (l: lista); acción libera; primero, último: PtrNodo; num: natural; ftipo; Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 36

19 Ejemplo de operaciones del Crear la lista vacía constructor crearlista; primero:= nulo; ultimo:= nulo; num:= 0; fconstructor Añadir un elemento por la derecha acción añadedch (e: elemento); var nuevo: ptrnodo fvar si esvacía entonces creaunitaria (e) sino reservar (nuevo, creanodo(e, nulo)); último^.setsig(nuevo); último:= nuevo; num:= num + 1; facción Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 37 Ejemplo de operaciones del Eliminar el elemento de la derecha acción eliminadch; var aux: ptrnodo; fvar si esvacía entonces si num=1 entonces liberar (primero); l.crearlista; sino aux:= primero; mientras aux^.getsig ultimo hacer aux:= aux^.getsig; fmientras aux^.setsig(nulo); liberar (último); último:= aux; num:= num 1; facción Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 38

Tipos Abstractos de Datos

Tipos 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 detalles

El TAD Árbol. El TAD Árbol

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

Más detalles

Estructura de datos Tema 3: El TAD Lista lineal. Universidad de Valladolid. Departamento de informática. Campus de Segovia

Estructura de datos Tema 3: El TAD Lista lineal. Universidad de Valladolid. Departamento de informática. Campus de Segovia Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 3: El TAD Lista lineal Prof. Montserrat Serrano Montero ÍNDICE El TAD lista lineal Implementación con estructuras

Más detalles

14. ÁRBOLES. 14.1 Fundamentos y terminología básica

14. Á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 detalles

Pilas y Colas. Capítulo 3

Pilas y Colas. Capítulo 3 Pilas y Colas Capítulo 3 Pilas Una pila representa una estructura lineal de datos en que se puede agregar o quitar elementos únicamente por uno de los dos extremos. En consecuencia, los elementos de una

Más detalles

Estructuras de datos: Árboles binarios de

Estructuras 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 detalles

Ampliación de Estructuras de Datos

Ampliació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 detalles

El TAD Grafo. El TAD Grafo

El TAD Grafo. El TAD Grafo Objetivos! Estudiar la especificación del TAD Grafo! Presentar diferentes alternativas de implementación! Conocer los algoritmos más importantes de manipulación de grafos Contenidos.1 Conceptos. Especificación

Más detalles

Ejemplos de TAD (tipos simples)

Ejemplos 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 detalles

COLAS. GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny

COLAS. GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny COLAS 2002 GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny ESTRUCTURA DE DATOS TEMA 4 Estructura de datos Cola ÍNDICE 4.1. Definición y ejemplos...3 4.2. El TAD

Más detalles

Estructura de Datos. TDA: Listas. Primer Semestre, 2010. Indice. Tipos de estructura de datos lineales

Estructura de Datos. TDA: Listas. Primer Semestre, 2010. Indice. Tipos de estructura de datos lineales Estructura de Datos TDA: Listas Prof. Mauricio Solar Prof. Lorna Figueroa Parte del material fue obtenido de Lic. Claudio Barúa Primer Semestre, 2010 Indice Tipos de estructura de datos lineales Listas

Más detalles

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

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

Más detalles

Tema 1. Introducción a las estructuras y tipos de datos

Tema 1. Introducción a las estructuras y tipos de datos Tema 1. Introducción a las estructuras y tipos de datos 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

Más detalles

Instituto de Computación - Facultad de Ingeniería - Universidad de la República

Instituto 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 detalles

Estructura de Datos y de la Información. Pilas y expresiones aritméticas

Estructura de Datos y de la Información. Pilas y expresiones aritméticas Estructura de Datos y de la Información Pilas y expresiones aritméticas LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

Tecnó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 detalles

Arboles Binarios de Búsqueda

Arboles 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 detalles

Capítulo 12: Indexación y asociación

Capí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 detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Contenido. Prólogo... Capítulo 1. Algoritmos y estructuras de datos... 1. Introducción... 24

Contenido. Prólogo... Capítulo 1. Algoritmos y estructuras de datos... 1. Introducción... 24 Contenido Prólogo... vii Capítulo 1. Algoritmos y estructuras de datos... 1 Introducción... 2 1.1. Tipos de datos... 2 1.1.1. Tipos primitivos de datos... 3 1.1.2. Tipos de datos compuestos y agregados...

Más detalles

CAPÍTULO 5 ESTRUCTURAS DE DATOS

CAPÍTULO 5 ESTRUCTURAS DE DATOS CAPÍTULO 5 ESTRUCTURAS DE DATOS En la práctica, la mayor parte de información útil no aparece aislada en forma de datos simples, sino que lo hace de forma organizada y estructurada. Los diccionarios, guías,

Más detalles

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

Más detalles

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

Práctica 7. TAD aplicación

Práctica 7. TAD aplicación bjetivos. Práctica 7. TAD aplicación Se trata de construir el TAD APLICACIN con una implementación acotada. Se introducen la dispersión (hashing) y las cachés como técnicas de implementación para mejorar

Más detalles

Algoritmos y Estructuras de Datos II

Algoritmos y Estructuras de Datos II 8 de abril de 2015 Clase de hoy 1 Repaso Tipos concretos versus abstractos Tipos abstractos de datos 2 3 4 TAD Pila Especificación del TAD Pila Repaso Tipos concretos versus abstractos Tipos abstractos

Más detalles

Reconocímíentes y Agradecimientos 5 Indice 6 Prólogo 11

Reconocímíentes y Agradecimientos 5 Indice 6 Prólogo 11 índice Reconocímíentes y Agradecimientos 5 Indice 6 Prólogo 11 Capítulo 1: Introducción a c/e++ Introducción a C/C++ 13 Introducción 14 Primeros Pasos en C/C++ 15 Mi Primer Programa 15 Bibliotecas 17 Archivos

Más detalles

Tipos Abstractos de Datos y Diseño por Contrato

Tipos Abstractos de Datos y Diseño por Contrato Tipos Abstractos de Datos y Diseño por Contrato 1.- Motivación de los tipos abstractos de datos Nuestro objetivo es obtener descripciones apropiadas de los objetos, para lo cual se necesita un método que

Más detalles

Tema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios

Tema 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 detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

Árboles Binarios Ordenados Árboles AVL

Árboles Binarios Ordenados Árboles AVL Árboles Binarios Ordenados Árboles AVL Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Recordatorio... Se acerca la fecha de la primera entrega

Más detalles

Un elemento de cualquier clase llamada Info; Un puntero a un nuevo nodo llamado sig; De tal forma una unión de nodos hace que tengamos una lista:

Un elemento de cualquier clase llamada Info; Un puntero a un nuevo nodo llamado sig; De tal forma una unión de nodos hace que tengamos una lista: Tipos Abstractos de Datos: TAD Lista en educación Profesional 1.- Introducción Los tipos abstractos de datos son fundamentales para la informática puesto que de ellos se sirven todos los programas para

Más detalles

Estructuras de Datos Abstractas en Lenguaje Java

Estructuras 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 detalles

Estructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas:

Estructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas: Estructuras de Datos Tema. 1. Definiciones básicas 2. Implementación. Operaciones con montículos 4. Definiciones básicas: En un árbol binario completo todos los niveles del árbol (excepto tal vez el último)

Más detalles

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

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

Más detalles

Ingeniería del Software. Índice

Ingeniería del Software. Índice Índice Introducción a los TADs Medida de la eficiencia de las implementaciones Estructuras lineales: pilas, colas, listas Tablas asociativas: hash Árboles Grafos 1 Introducción a los TADs Los Tipos Abstractos

Más detalles

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

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

Más detalles

árbol como un conjunto de nodos y líneas

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

Más detalles

Estructura de datos Tema 6: Tablas de dispersión (hashing)

Estructura de datos Tema 6: Tablas de dispersión (hashing) Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 6: Tablas de dispersión (hashing) Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Funciones hash

Más detalles

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES 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

Estructuras de datos abstractos (ADTs) Listas

Estructuras de datos abstractos (ADTs) Listas Estructuras de datos abstractos (ADTs) Listas mat-151 1 problema de Josephus 2 problema de Josephus Hay n personas paradas en circulo esperando para ser ejecutadas. Después de ser ejecutado el primer hombre

Más detalles

Tema 1: Implementación del sistema de archivos

Tema 1: Implementación del sistema de archivos Tema 1: Implementación del sistema de archivos 1. Introducción 2. Implementación 3. Estructura del almacenamiento secundario Dpto. Tema Lenguajes 1: Implementación y Sistemas del Informáticos. sistema

Más detalles

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

Estructura de datos y de la información Boletín de problemas - Tema 7 Estructura de datos y de la información Boletín de problemas - Tema 7 1. Un concesionario de coches tiene un número limitado de M modelos, todos en un número limitado de C colores distintos. Cuando un

Más detalles

ELO320 Estructuras de Datos y Algoritmos. Arboles Binarios. Tomás Arredondo Vidal

ELO320 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 detalles

Sistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1

Sistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1 Sistemas de producción y búsqueda de soluciones Area de Computación e Inteligencia Artificial 1 Técnicas de búsqueda Resolución de problemas en Inteligencia Artificial. En general, podemos afirmar que

Más detalles

Búsqueda heurística Prof. Constantino Malagón

Búsqueda heurística Prof. Constantino Malagón Búsqueda heurística Prof. Constantino Malagón Area de Computación e Inteligencia Artificial 1 Búsqueda heurística Los métodos de búsqueda heurística disponen de alguna información sobre la proximidad de

Más detalles

ÁRBOLES BINARIOS 2002. GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny

Á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

Definiciones. Tema 21_Módulos Menú 1

Definiciones. Tema 21_Módulos Menú 1 Definiciones Un menú es una lista de opciones o de órdenes que forman parte de un mismo título, mediante los cuales se podrán seleccionar determinadas operaciones de la aplicación. El conjunto de todos

Más detalles

Estructuras de Datos Dinámicas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos dinámicas

Estructuras de Datos Dinámicas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos dinámicas Fundación Misión Sucre Colegio Universitario de Caracas Taller 3: Estructuras de Datos Dinámicas Objetivo Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos dinámicas Contenido

Más detalles

1. IDENTIFICACIÓN DE LA ASIGNATURA 2. PRESENTACIÓN

1. IDENTIFICACIÓN DE LA ASIGNATURA 2. PRESENTACIÓN 1. IDENTIFICACIÓN DE LA ASIGNATURA NOMBRE DE LA TECNOLOGIA: SISTEMAS NOMBRE DE LA ASIGNATURA: ESTRUCTURA DE DATOS AREA: ESPECÍFICA TECNOLÓGICA NIVEL: 3 CREDITOS: 3 HORAS DE TRABAJO DIRIGIDO HTD: 48 HORAS

Más detalles

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos. UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

TEMA 7. EL TDA PILA. 7.1. Definición

TEMA 7. EL TDA PILA. 7.1. Definición TEM 7. EL TD PIL 7.1. Definición 7.2. Operaciones del TD PIL 7.3. Implementaciones más usuales: vectores y listas enlazadas 7.4. Utilidades de las Pilas ibliografía Weiss Cairó y Guardati ho, Hopcroft

Más detalles

Tema 1. Introducción a los TAD

Tema 1. Introducción a los TAD Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con

Más detalles

Tema 2. Recursividad. Fundamentos de Programación II. Luís Rodríguez Baena (luis.rodriguez@upsam.net)

Tema 2. Recursividad. Fundamentos de Programación II. Luís Rodríguez Baena (luis.rodriguez@upsam.net) Fundamentos de Programación II Tema 2. Recursividad Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de Ingeniería y Arquitectura Naturaleza

Más detalles

CI2126 PRÁCTICA 9: TAD COLA. 1) Implemente las operaciones C_Insert y C_Remove del TAD COLA usando a. un arreglo. La estructura sería:

CI2126 PRÁCTICA 9: TAD COLA. 1) Implemente las operaciones C_Insert y C_Remove del TAD COLA usando a. un arreglo. La estructura sería: CI2126 PRÁCTICA 9: TAD COLA. 1) Implemente las operaciones C_Insert y C_Remove del TAD COLA usando a. un arreglo La estructura sería: typedef struct s_cola ELEM elementos[max]; int primero,ultimo; STRUCTCOLA,*COLA;

Más detalles

El programa que permite el manejo de la base de datos tiene la siguiente funcionalidad:

El programa que permite el manejo de la base de datos tiene la siguiente funcionalidad: El TAD Diccionario Cuando se usa un conjunto en el diseño de un algoritmo podría no ser necesario contar con operaciones de unión o intersección. A menudo lo que se necesita es simplemente manipular un

Más detalles

Listas, Pilas, Colas y Punteros. Semana 3

Listas, Pilas, Colas y Punteros. Semana 3 Listas, Pilas, Colas y Punteros Semana 3 Dictado por Marco González Núñez 14 de Febrero de 2011 Estructuras de datos simples Hoy hablaremos de lo que sin duda me motivó a crear este curso que son los punteros,

Más detalles

Análisis amortizado El plan:

Aná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 detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

Organización de Computadoras

Organización de Computadoras Organización de Computadoras Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2015 Proyecto N 1 Programación en Lenguaje C El objetivo principal

Más detalles

ELABORACIÓN DE TABLEROS DINÁMICOS DE COMUNICACIÓN CON EL PROGRAMA EDITOR TICO

ELABORACIÓN DE TABLEROS DINÁMICOS DE COMUNICACIÓN CON EL PROGRAMA EDITOR TICO ELABORACIÓN DE TABLEROS DINÁMICOS DE COMUNICACIÓN CON EL PROGRAMA (Tico 2.0) EDITOR TICO La idea principal que motivo este proyecto fue trasladar la definición tradicional de tablero de comunicación en

Más detalles

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas. Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento

Más detalles

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

Programación Lineal Entera

Programación Lineal Entera Programación Lineal Entera P.M. Mateo y David Lahoz 2 de julio de 2009 En este tema se presenta un tipo de problemas formalmente similares a los problemas de programación lineal, ya que en su descripción

Más detalles

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO MARCEL SANTOS ARIEL MARTINEZ AGUILAR GILBERTO. MATERIA: ESTRUCTURA

Más detalles

FORMACIÓN Principios de la programación orientada a objetos

FORMACIÓN Principios de la programación orientada a objetos FORMACIÓN Principios de la programación orientada a objetos En un mercado laboral en constante evolución, la formación continua de los profesionales debe ser una de sus prioridades. En Galejobs somos conscientes

Más detalles

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de

Más detalles

Laboratorio 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 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

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Ejercicios: Clases y Objetos 1. Crea una clase Complejo que permita trabajar con números complejos (parte real y parte imaginaria). Incluye los siguientes métodos: constructores

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Unidad 2: Gestión de Memoria

Unidad 2: Gestión de Memoria Unidad 2: Gestión de Memoria Tema 3, Gestión de Memoria: 3.1 Definiciones y técnicas básicas. 3.2 Gestión de memoria contigua: Partición, fragmentación, algoritmos de ubicación... 3.3 Paginación: Estructura

Más detalles

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas

Más detalles

Sistema de Ficheros. Sistemas Operativos - ITIG. Álvaro Polo Valdenebro. Abril 2009. apoloval@gsyc.es. GSyC - 2009 Introducción 1

Sistema de Ficheros. Sistemas Operativos - ITIG. Álvaro Polo Valdenebro. Abril 2009. apoloval@gsyc.es. GSyC - 2009 Introducción 1 Sistema de Ficheros Sistemas Operativos - ITIG Álvaro Polo Valdenebro apoloval@gsyc.es Abril 2009 GSyC - 2009 Introducción 1 c 2009 GSyC Algunos derechos reservados. Este trabajo se distribuye bajo la

Más detalles

MANUAL DE LA APLICACIÓN DE GESTIÓN DE CRIONIZADOS

MANUAL DE LA APLICACIÓN DE GESTIÓN DE CRIONIZADOS MANUAL DE LA APLICACIÓN DE GESTIÓN DE CRIONIZADOS NEVERO 1.3 Acceso a la aplicación 1 Mantenimiento de Administradores 2 Alta Modificación: 2 Baja: 2 Mantenimiento de Tanques 3 Modificación: 3 Baja: 3

Más detalles

1 Agencia de viajes: enunciado

1 Agencia de viajes: enunciado 1 AGENCIA DE VIAJES: ENUNCIADO 1 1 Agencia de viajes: enunciado Una agencia de viajes mantiene una base de datos con exactamente N clientes y M destinos turísticos. En una situación real, estos valores

Más detalles

Tema 1. Abstracciones y Especificaciones.

Tema 1. Abstracciones y Especificaciones. Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación de conjuntos mediante árboles. 4. Grafos. Parte II. Algorítmica. 1.

Más detalles

Manual de usuario del Centro de Control

Manual de usuario del Centro de Control Manual de usuario del Centro de Control www.ximdex.com Tabla de contenidos 1. Centro de Control...4 2. Gestor de Canales...5 2.1. Añadir un nuevo canal...6 2.2. Modificar las propiedades del canal...6

Más detalles

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación

Más detalles

Arranque de la aplicación

Arranque de la aplicación Arranque de la aplicación Acceso autorizado Al ejecutar la aplicación se solicita un nombre de usuario y una clave de acceso. Esto garantiza el acceso a la información de las personas autorizadas. Usuarios

Más detalles

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES OBJETIVO: El estudiante desarrollará aplicaciones mediante la implementación de estructuras de datos basadas en Pilas. MATERIAL Y EQUIPO NECESARIO: Papel y lápiz Se recomienda la comprobación de los ejercicios

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 Á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 detalles

Tècnic Auxiliar en Disseny Industrial - Manual Autocad 2011. Atributos. Un atributo es un objeto que se crea e incluye con una definición de bloque.

Tècnic Auxiliar en Disseny Industrial - Manual Autocad 2011. Atributos. Un atributo es un objeto que se crea e incluye con una definición de bloque. ATRIBUTOS Un atributo es un objeto que se crea e incluye con una definición de bloque. Los atributos pueden almacenar datos como números de serie, nombres de productos, etc. Ejemplos de algunas aplicaciones

Más detalles

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos Santiago Zanella 2008 1 Introducción Para ciertas aplicaciones se requiere mantener n elementos distintos agrupándolos en una colección

Más detalles

Gestión Documental ERP

Gestión Documental ERP N. Documento Revisión Nº: 1.0 Fecha: 30/03/11 Introducción 1 Configuración de la Gestión Documental ERP 2 Funcionamiento de la Gestión Documental ERP 6 ÍNDICE Introducción El programa Ahora permite una

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES El modelo relacional se basa en dos ramas de las matemáticas: la teoría de conjuntos y la lógica de predicados de primer orden. El hecho de que

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL

UNIVERSIDAD 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 detalles

Escuela Industrial Superior SISTEMAS OPERATIVOS. Windows 7 Conceptos básicos. Ventajas de Windows. Elementos de trabajo

Escuela Industrial Superior SISTEMAS OPERATIVOS. Windows 7 Conceptos básicos. Ventajas de Windows. Elementos de trabajo SISTEMAS OPERATIVOS Un Sistema Operativo (SO, frecuentemente OS, del inglés Operating System) es un programa o conjunto de programas que en un Sistema Informático controla los recursos de hardware y gestiona

Más detalles

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES 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 detalles

Locker Room: Una Herramienta Para El Aprendizaje de Punteros Basada en La Metáfora de Las Taquillas

Locker Room: Una Herramienta Para El Aprendizaje de Punteros Basada en La Metáfora de Las Taquillas Locker Room: Una Herramienta Para El Aprendizaje de Punteros Basada en La Metáfora de Las Taquillas Carlos Martín Villanova, Tonghong Li, Claudio Soriente, Ricardo Jiménez Peris and Marta Patiño Martínez

Más detalles

Tema IV Programación lógica con estructuras

Tema IV Programación lógica con estructuras Tema IV Programación lógica con estructuras Programación Lógica - E.T.S.I. Informática - Málaga 1 Términos La estructura de datos básica en PROLOG es el término. Los términos se clasifican en : variables

Más detalles

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES) Sistema de Gestión Académica TESEO (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES) Revisión 1.0 Servicio de Informática Área de Gestión Mayo de 2004 INDICE INDICE... 1 1 Introducción... 1 2 Procedimiento....

Más detalles

Prácticas de programación en C con MinGW Developer Studio

Prácticas de programación en C con MinGW Developer Studio Prácticas de programación en C con MinGW Developer Studio MinGW Developer Studio es un entorno de desarrollo integrado (IDE) para la programación en lenguaje C gratuito y cómodo de usar. Se ejecuta en

Más detalles

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria

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

Más detalles

UNIVERSIDAD DR. JOSE MATIAS DELGADO

UNIVERSIDAD 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

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

SEMINARIO 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 detalles

Tipos de datos. Lección 1. Programación. Curso 2006-2007. J. A. Bañares, Pedro J. Álvarez, S. Velilla

Tipos de datos. Lección 1. Programación. Curso 2006-2007. J. A. Bañares, Pedro J. Álvarez, S. Velilla Lección 1. Programación. Curso 2006-2007 Tipos de datos J. A. Bañares, Pedro J. Álvarez, S. Velilla http://diis.unizar.es/ Departamento de Informática e Ingeniería de Sistemas 2 Tipos de datos, constantes

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Tema 4.3. Tipos de datos lineales. Listas Prof. Dr. P. Javier Herrera Contenido Listas: Conceptos generales Operaciones básicas Especificación algebraica Implementación

Más detalles