Pilas, Colas. Andrea Rueda. Estructuras de Datos. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas
|
|
- Ángeles Paz Aranda
- hace 7 años
- Vistas:
Transcripción
1 Pilas, Colas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas
2 Quiz: STL
3 Quiz: STL Standard Template Library (STL) std::vector - Arreglo dinámico, crece en memoria según necesidad. - Acceso aleatorio con operador [] (sobrecargado). - Inserción y eliminación directa sólo en el final (cola) del arreglo.
4 Quiz: STL #include <vector> #include <iostream> int main() { } std::vector<int> arr; for (int i=0; i<6; i++) 1. Insertar algunos datos... arr.push_back(10 i); for (int ind=0; ind<arr.size(); ind++) 2. Imprimir los datos insertados en pantalla... std::cout << arr[ind] << " "; std::cout << std::endl;
5 Quiz: STL Standard Template Library (STL) std::deque - Cola de dos cabezas, arreglo dinámico que crece por ambos extremos. - Acceso aleatorio con operador [] (sobrecargado). - Inserción y eliminación directa tanto en la cabeza como en la cola.
6 Quiz: STL #include <iostream> #include <deque> int main() { std::deque<int> dcola; } for (int i=0; i<3; i++) { 3. dcola.push_back(i); Insertar algunos datos en dcola.push_front(10 i); ambos extremos... } for (int ind=0; ind<dcola.size(); ind++) 4. Imprimir los datos insertados en pantalla... std::cout << dcola[ind] << " "; std::cout << std::endl;
7 Quiz: STL Standard Template Library (STL) std::list - Lista doblemente encadenada, conexión al siguiente y al anterior. - Acceso directo a cabeza y cola, otros elementos a través de iteradores. - Inserción y eliminación directa tanto en la cabeza como en la cola.
8 #include <iostream> #include <list> int main() { std::list<int> lista; } Quiz: STL for (int i=0; i<3; i++) { 5. lista.push_back(i); Insertar algunos datos en lista.push_front(10 i); ambos extremos... } std::list<int>::iterator it; 6. Imprimir los datos insertados en pantalla... for (it=lista.begin(); it!=lista.end(); it++) std::cout << *it << " "; std::cout << std::endl;
9 Quiz: STL - vector #include <vector> #include <iostream> int main() { } std::vector<int> arr; for (int i=0; i<6; i++) arr.push_back(10 i); for (int ind=0; ind<arr.size(); ind++) std::cout << arr[ind] << " "; std::cout << std::endl;
10 Quiz: STL - deque #include <iostream> #include <deque> int main() { std::deque<int> dcola; } for (int i=0; i<3; i++) { dcola.push_back(i); dcola.push_front(10 i); } for (int ind=0; ind<dcola.size(); ind++) std::cout << dcola[ind] << " "; std::cout << std::endl;
11 #include <iostream> #include <list> int main() { std::list<int> lista; } Quiz: STL - list for (int i=0; i<3; i++) { lista.push_back(i); lista.push_front(10 i); } std::list<int>::iterator it; for (it=lista.begin(); it!=lista.end(); it++) std::cout << *it << " "; std::cout << std::endl;
12 TAD Pila TAD Cola
13 Pilas y colas Listas: propósito general (secuencias). Qué pasa cuando no sólo la secuencia es importante, sino el orden de llegada?
14 Pila Colección ordenada de elementos con restricciones de acceso. Sus elementos sólo pueden accederse por un único lugar, el tope o cima de la pila. Novela Enciclopedia Revista Libro Diccionario
15 Pila Entradas deben ser eliminadas en el orden inverso al que se situaron en la pila. último en entrar, primero en salir estructura de datos LIFO (last-in, first-out). insertar eliminar cima (tope) fondo
16 Pila Operaciones principales: Insertar (push): Añade un elemento y lo ubica en el tope de la pila. Eliminar (pop): Extrae el elemento en el tope y lo retira de la pila.
17 Pila Implementaciones: Arreglos (implementación estática). cima (tope) pila vacía puntero = -1 puntero de la pila pila llena puntero = 6
18 Pila Implementaciones: Listas enlazadas (implementación dinámica). cima (tope)
19 TAD Pila Secuencia finita de datos. Acceso sólo al elemento tope. Sin recorridos, acceso aleatorio restringido. Algoritmos: Insertar, eliminar. Vacía, tope. cima (tope) insertar Estado? eliminar fondo Interfaz?
20 TAD Pila TAD Pila Conjunto mínimo de datos: Comportamiento (operaciones) del objeto:
21 TAD Pila TAD Pila Conjunto mínimo de datos: - tope,?, representa el tope (elemento accesible). Comportamiento (operaciones) del objeto: - esvacia(), indica si la pila está vacía. - tope(), retorna el elemento en el tope. - insertar(v), inserta v en la pila. - eliminar(), elimina el elemento en el tope.
22 Pila en STL Stack (std::stack) No se puede iterar ( Por qué?) push (push_back) pop (pop_back) top (back) size empty
23 Pila en STL Declaración std::stack< int > aux; for (int i = 0; i < 12; i++) aux.push( i+1 ); Inserción de datos while(!aux.empty( ) ) { int n = aux.top( ); Extracción aux.pop( de ); datos std::cout << n << std::endl; }
24 Pila en STL std::stack< int > aux; for (int i = 0; i < 12; i++) aux.push( i+1 ); while(!aux.empty( ) ) { int n = aux.top( ); aux.pop( ); std::cout << n << std::endl; }
25 Cola Colección de elementos almacenados en una lista con restricciones de acceso. Los elementos sólo pueden ser insertados en la cola (final) de la lista, y sólo pueden ser eliminados por la cabeza (inicio o frente) de la lista Ult cabeza cola
26 Cola Entradas deben ser eliminadas en el mismo orden en el que se situaron en la cola. primero en entrar, primero en salir estructura de datos FIFO (first-in, first-out). Ejemplos: Atención a clientes en un almacén. Gestión de trabajos en una impresora.
27 Cola Operaciones principales: Insertar (push): Añadir un elemento por el extremo final de la cola. Eliminar (pop): Extraer el elemento ubicado en el extremo inicial de la cola.
28 Cola Implementaciones: - Arreglos (implementación estática). La cola no puede crecer indefinidamente, requiere un indicador de tamaño máximo. cabeza cola tamaño máximo
29 Cola Implementaciones: - Arreglos (implementación estática). después de insertar cabeza cola tamaño máximo después de eliminar cabeza cola tamaño máximo
30 Cola Implementaciones: - Arreglo circular (implementación estática). Se une el extremo final del arreglo con su extremo cabeza, para evitar las posiciones libres al inicio.
31 Cola Implementaciones: - Lista enlazada (implementación dinámica). cabeza cola
32 TAD Cola Secuencia finita de datos. Inserción por un extremo, eliminación por el otro. Sin recorridos, acceso aleatorio restringido Algoritmos: Insertar, eliminar. Vacía, cabeza. cabeza Estado? Interfaz? cola
33 TAD Cola TAD Cola Conjunto mínimo de datos: Comportamiento (operaciones) del objeto:
34 TAD Cola TAD Cola Conjunto mínimo de datos: - cabeza,?, representa el extremo inicial. - cola,?, representa el extremo final. Comportamiento (operaciones) del objeto: - esvacia(), indica si la cola está vacía. - cabeza(), retorna el elemento en la cabeza. - insertar(v), inserta v en la cola. - eliminar(), elimina el elemento en la cabeza.
35 Cola en STL Queue (std::queue) No se puede iterar ( Por qué?) push (push_back) pop (pop_front) front back size empty
36 Cola en STL Declaración std::queue< int > aux; for (int i = 0; i < 12; i++) aux.push( i+1 ); Inserción de datos while(!aux.empty( ) ) { int n = aux.front( ); Extracción aux.pop( de ); datos std::cout << n << std::endl; }
37 Cola en STL std::queue< int > aux; for (int i = 0; i < 12; i++) aux.push( i+1 ); while(!aux.empty( ) ) { int n = aux.front( ); aux.pop( ); std::cout << n << std::endl; }
38 Revisemos: Consideraciones de diseño e implementación de TADs
39 Diseño de TADs Plantilla base para diseño de TADs: TAD nombre Conjunto mínimo de datos: nombre valor (variable), tipo de dato, descripción... Comportamiento (operaciones) del objeto: nombre operación (argumentos), descripción funcional...
40 Diseño de TADs Diagrama de relación entre TADs: TAD 1 dato1 dato2 operacion1 operacion2 operacion3 TAD 2 dato1 dato2 operacion1 operacion2 TAD 3 Atención! No es un diagrama de clases! dato1 dato2 operacion1
41 Implementación de TADs Sintaxis básica, 2 archivos: - Encabezado (.h): Incluye la definición del TAD, en términos de datos y prototipos de operaciones. #include TAD.hxx (al final de la declaración) - Implementación (.hpp,.hxx): Incluye la implementación específica de las operaciones del TAD. #include TAD.h (al principio del archivo)
42 Implementación de TADs Implementación (opción 1): datos en estructura, operaciones como funciones adicionales. struct Carrera{ std::string nombre; unsigned long numest; }; std::string ObtenerNombre(Carrera *c); unsigned long ObtenerNumEst(Carrera *c); void FijarNombre(Carrera *c, std::string nombre); void AgregarEstud(Carrera *c); void EliminarEstud(Carrera *c);
43 Implementación de TADs Implementación (opción 2): datos y operaciones en estructura. struct Carrera{ std::string nombre; unsigned long numest; std::string ObtenerNombre(); unsigned long ObtenerNumEst(); void FijarNombre(std::string nombre); void AgregarEstud(); void EliminarEstud(); };
44 Implementación de TADs Implementación a usar (opción 3): Datos y operaciones dentro de una clase. class Carrera { public: Carrera(); std::string ObtenerNombre(); unsigned long ObtenerNumEst(); void FijarNombre(std::string name); void AgregarEstud(); void EliminarEstud(); protected: std::string nombre; unsigned long numest; };
45 Implementación de TADs Sintaxis básica en encabezado: - Regiones: Públicas (public): accesible por cualquiera. Protegidas (protected): públicas para clases derivadas, privadas para funciones externas. Privadas (private): accesible sólo por los miembros de la clase y por objetos de la misma clase.
46 Implementación de TADs Sintaxis básica en encabezado: - Regiones: Públicas (public): Todas las operaciones del TAD. Dan acceso a los datos (atributos) del TAD. Protegidas (protected) o Privadas (private): Todos los datos (atributos) del TAD.
47 Diseño e implementación de TADs 1.Diseñar el TAD: descripción + diagrama. 2.Escribir el archivo de encabezado (.h): un archivo por TAD. 3.Escribir el archivo de implementación (.hxx,.hpp): un archivo por TAD. 4.Escribir el archivo de programa (.cxx,.cpp): programa con procedimiento principal, incluye el encabezado de cada TAD a utilizar.
48 Ejercicio Carreras por facultades en una universidad : Ingeniería Ciencias Básicas Artes Ciencias Sociales Civil Biología Arquitectura Electrónica Música Sistemas
49 Composición Ejemplo: carreras por facultades en una universidad. class Carrera { public: Carrera(); std::string ObtenerNombre(); unsigned long ObtenerNumEst(); void FijarNombre(std::string name); void AgregarEstud(); void EliminarEstud(); protected: std::string nombre; unsigned long numest; };
50 Composición Ejemplo: carreras por facultades en una universidad. class Facultad { public: Facultad(); std::string ObtenerNombre(); void FijarNombre(std::string nombre); void AgregarCarrera(std::string carrera, unsigned long numest); unsigned long ContarEstud(); bool EliminarCarrera(std::string carrera); protected: std::string nombre; std::list<carrera> lcarreras; };
51 Composición Ejemplo: carreras por facultades en una universidad. class Universidad { public: Universidad(); void AgregarCarrera(std::string carrera, std::string fac, unsigned long numest); unsigned long ContarEstud(); void EliminarCarrera(std::string carrera); protected: std::list<facultad> lfacs; };
52 Referencias L. Joyanes Aguilar, I. Zahonero. Algoritmos y estructuras de datos: una perspectiva en C. McGraw-Hill,
STL: Standard Template Library
STL: Standard Template Library Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Consideraciones de diseño Programas = Algoritmos + Datos (ecuación
Más detallesIngeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos.
Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos. Con relación a la Estructura LISTA Indicar objetos reales que se puedan modelar con dicha estructura. Listas de Ordenes de visitas
Más detallesEstructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna
Ingeniería en Computación Unidad de Aprendizaje: Estructura de Datos Unidad de Competencia II: Estructuras de Datos Lineales Marzo 2015 M. en C. Edith Cristina Herrera Luna ESTRUCTURAS DE DATOS Propósito
Más detallesEstructura de datos y algoritmos. Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES
Estructura de datos y algoritmos Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES 4.1 Introducción 4.2 Ejemplos de TDA dinámicos lineales 4.3 Pilas 4.3.1
Más detallesTema 8. Listas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz
Tema 8. Listas 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 información Universitat
Más detallesUniversidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México
Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos
Más detallesAlgoritmos y Estructuras de Datos Pilas LIFO y Colas FIFO. Guillermo Román Díez
Algoritmos y Estructuras de Datos Pilas LIFO y Colas FIFO Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Pilas LIFO y Colas FIFO 1/12
Más detallesEstructuras de datos en memoria principal
Estructuras de datos Estructuras de datos en memoria principal Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Actualización: 11
Más detallesÁrboles Binarios Ordenados Árboles AVL
Árboles Binarios Ordenados Árboles AVL Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Diseño e Implementación TAD Árbol Representación de árboles
Más detallesTAD Lineales: Pila, Cola y Lista
TAD Lineales: Pila, Cola y Lista Objetivos Conocer los TAD lineales, su funcionamiento y aplicaciones Conocer la especificación de cada uno de ellos Saber realizar implementaciones alternativas Saber usar
Más detallesProfesor: José Miguel Rubio L.
Profesor: José Miguel Rubio L. Magíster en Ingeniería Informática Ingeniero Civil en Informática Licenciado en Ciencias de la Ingeniería Técnico en Programación Oficina: 3-20 e-mail 1: jose.rubio.l@ucv.cl
Más detallesCapítulo. Listas, pilas y colas en C. Contenido. Introducción
Capítulo 32 Listas, pilas y colas en C Contenido Listas enlazadas Clasificación de listas enlazadas Operaciones en listas enlazadas Inserción de un elemento en una lista Búsqueda de un elemento de una
Más detallesEstructuras Dinámicas de datos.
Estructuras Dinámicas de datos. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinámica de datos es una colección de elementos llamadas nodos
Más detallesUNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS
UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS Curso 2008-09 Examen parcial APELLIDOS: NOMBRE: 1. (0.5 puntos) Enumera las características de un algoritmo
Más detallesTema 5. Estructura de datos Pila
Tema 5. Estructura de datos Pila 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 detallesLas FILAS. ING PEDRO BELTRÁN CANESSA Estructuras de Datos 1
Las FILAS Estructuras de Datos 1 LA FILA (Conceptos...) Es un contenedor que utiliza el protocolo FIFO (First In, First Out) o bien, PEPS (Primeras Entradas, Primeras Salidas) Entrada Salida Estructuras
Más detallesPilas y Colas. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores
Pilas y Colas Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Pilas Estructura Operaciones Ejemplos de aplicación Implementación Colas Definición Operaciones
Más detallesDiseño e implementación de TADs lineales 1
Capítulo 8 Diseño e implementación de TADs lineales 1 Empieza por el principio dijo el Rey con gravedad y sigue hasta llegar al nal; allí te paras. Lewis Carroll deniendo, sin pretenderlo, el recorrido
Más detallesProgramación C++ Tipos Parametrizados. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional
Programación C++ Tipos Parametrizados Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional Tipos (clases) parametrizados Templates La noción de "templates" provee los llamados algunas
Más detallesSolución práctico 6 Tipos Abstractos de Datos Lista, Pila y Cola
Objetivos Trabajar sobre el Tipo Abstracto de Datos Lista, reforzando el desacople entre especificación e implementación. Retomar las implementaciones vistas, como ser Listas Doblemente Encadenadas, Listas
Más detallesEstructuras de datos en memoria principal
Estructuras de datos en memoria principal Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Estructuras de datos v Estructuras básicas
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (PILAS)
200 UNAN LEON Departamento de Computación Ingeniería en Sistema y Telemática Docente: Ing. Juan Carlos Antón S. Asignatura: Algoritmo y Estructuras de Datos ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) Pilas
Más detallesProgramación de sistemas Pilas y Colas
Programación de sistemas Pilas y Colas Departamento de Ingeniería Telemática 1 Contenidos Pilas (stacks) Colas (queues) Colas dobles (deques double-ended queues) 2 Pilas Estructura de datos lineal Inserción
Más detallesEstructura de datos Colas
Estructura de Datos Estructura de datos Colas Temario Unidad II 2.1 Definición y operaciones 2.2 Implementación estática 2.3 Implementación dinámica 2.4 Colas de prioridad 2.5 Casos de estudio 1 Definición
Más detallesTema: Tipos Abstractos de Datos (TAD s) en C++.
Programación II. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C++. Objetivos Específicos Explicar el concepto "Tipo Abstracto
Más detallesBiblioteca de templates. template <typename T> void eliminar(t arr[], int& len, int pos);
ALGORITMOS Y ESTRUCTURA DE DATOS Machete Oficial 2014 Operaciones sobre arrays Biblioteca de templates Función: agregar Agrega el valor v al final del array arr e incrementa su longitud len. void agregar(t
Más detallesTema 02: TAD Pila. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 02: TAD Pila M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Descripción
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 detallesTema 7- Modelo y Aplicación de Pila, Cola y. Tema 7- Modelo y Aplicación de. Lista Con Punto de Interés
Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Índice general:. Modelo y Aplicación de Lista con Punto de Interés
Más detallesSegundo Parcial de Programación 2 7 de junio de 2017
Instituto de Computación. Facultad de Ingeniería. Universidad de la República Segundo Parcial de Programación 2 7 de junio de 2017 Problema 1 (30 puntos) Considere un TAD T que permita almacenar a lo sumo
Más detalles1. El Tipo Abstracto de Datos.
Tipo Abstracto de s TAD Pila y TAD Cola 1. El Tipo Abstracto de s. 2. Definición de un TAD Pila. 3. Operaciones sobre el TAD Pila. 4. Implementación dinámica del TAD Pila en C. 5. Definición de un TAD
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 detallesUNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.
Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.
Más detallesTipos Recursivos de Datos
1/1 Tipos Recursivos de Datos Josefina Sierra Santibáñez 27 de noviembre de 2016 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones),
Más detallesTema: Tipos Abstractos de Datos (TAD s) en C#.
Programación II. Guía No. 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C#. Objetivos Comprender el concepto Tipo Abstracto de Datos
Más detallesTema 8- Implementación de Pila, Cola y. Tema 8- Implementación de Pila, Cola y Lista con Punto de Interés. Representación Eficaz de una EDA
Tema 8- Implementación de Pila, Cola y Lista con Punto de Interés Tema 8- Implementación de Pila, Cola y Lista con Punto de Interés Índice general: 1. Representación Eficaz de una EDA Lineal 2. Implementación
Más detallesUNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.
Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.
Más detallesColas. Carlos Delgado Kloos Dep. Ingeniería Telemática Univ. Carlos III de Madrid. Java: Colas / 1
Colas Carlos Delgado Kloos Dep. Ingeniería Telemática Univ. Carlos III de Madrid cdk@it.uc3m.es Java: Colas / 1 Ejemplo La cola del autobús La cola de la impresora cdk@it.uc3m.es Java: Colas / 2 Características
Más detallesEstructuras Enlazadas AyED UTN-BA
Funciones para estructuras enlazadas Sin Plantilla El Nodo Con plantilla para un dato genérico en info El Nodo struct Nodo1 int info; Nodo* sig; ; Nodo1* p1 = new Nodo1(); struct Nodo2 string info; Nodo*
Más detallesContenedores asociativos en la STL de C++
Contenedores asociativos en la STL de C++ mat-151 Alonso Ramírez Manzanares Computación y Algoritmos 05.05 Variables y funciones estáticas de clase Alonso Ramírez Manzanares Computación y Algoritmos 05.05
Más detallesUNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO INTRODUCCION A LA PROGRAMACION Y COMPUTADORAS 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias
Más detallesA l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (COLAS) EN C
2013 ESTRUCTURAS DINÁMICAS DE DATOS (COLAS) EN C Departamento de Computación UNAN-León TEMA 5: ESTRUCTURAS DINÁMICAS DE DATOS (COLAS) 5.1 INTRODUCCIÓN: Las colas son secuencias de elementos caracterizadas
Más detallesPROGRAMACIÓN N C++ CONSTRUCTORES PROG.C++ L11 CONSTRUCTORES DEL LENGUAJE
L11 CONSTRUCTORES DEL LENGUAJE CLASES class { } PLANTILLAS template { } ESPACIOS DE NOMBRES namespace { } EXCEPCIONES try catch.. SOBRECARGA DE OPERADORES operator (parametros) BIBLIOTECA
Más detallesLISTAS ENLAZADAS FUNDAMENTOS TEORICOS
LISTAS ENLAZADAS FUNDAMENTOS TEORICOS Una lista enlazada es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta al siguiente elemento por un «enlace»
Más detallesTema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas
Tema 1. Programación modular Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas 1.1. Objetivos Repasar brevemente mediante ejemplos los elementos principales del lenguaje
Más detallesProgramación de sistemas
Programación de sistemas Pilas y Colas Julio Villena Román MATERIALES BASADOS EN EL TRABAJO DE DIFERENTES AUTORES: Carlos Delgado Kloos, Jesús Arias Fisteus, Carlos Alario Hoyos 1
Más detallesÁrboles RN Montículos
Árboles RN Montículos Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Árbol AVL Árbol AVL Balanceo cuatro posibilidades que requieren rotación
Más detallesProgramación TADs Lineales Lista Pila Cola
Programación 2 7- TADs Lineales Lista Pila Cola 1 TAD LISTA 2 Definición Hemos visto la definición inductiva de listas. Más precisamente, definimos inductivamente los tipos Alista, para cualquier tipo
Más detallesSTL: Standard Template Library
SEMINARIO C++ STL: Standard Template Library v. 20100915 Programación orientada a objetos Curso 10-11 ÍNDICE 1. Objetivo 2. El contenedor vector 3. Iteradores 4. Operaciones 5. Operadores 2 OBJETIVO La
Más detallesA l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
Más detallesTAD: Pila. TALLER: TAD Pila
TALLER: TAD Una pila (stack) es un conjunto de elementos del mismo tipo que solamente puede crecer o decrecer por uno de sus extremos. Una pila también se la conoce con el nombre de estructura de tipo
Más detallesPara la Implementación Dinámica de listas: Se usa la asignación dinámica de memoria mediante punteros o referencias.
Tema: Listas simple encadenadas. Manejo de pilas y colas dinámicas Objetivos: Que los alumnos logren Capacidad para usar, en forma eficiente los diagramas UML básicos. Habilidad para identificar las distintas
Más detallesAREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA
Más detallesPOST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA
Más detallesTema 02: TAD Pila. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 02: TAD Pila M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Descripción
Más detallesEjercicio 1 (proyecto prlistas, paquete listas)
PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.
Más detallesDepartamento de Informática Universidad de Valladolid Campus de Segovia TEMA 3: ESTRUCTURAS DINÁMICAS LINEALES. LISTAS ENLAZADAS, PILAS Y COLAS
Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 3: ESTRUCTURAS DINÁMICAS LINEALES. LISTAS ENLAZADAS, PILAS Y COLAS ÍNDICE Listas enlazadas Pilas Colas DEFINICIÓN DEL TIPO LISTA
Más detallesTema 3. Estructura de datos lineales. J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.
Tema Estructura de datos lineales . Introducción Las estructuras de datos dinámicas son una colección de elementos (también llamados nodos) que normalmente son registros con la particularidad que crecen
Más detallesAREA A LA QUE PERTENECE: POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: 1er. Semestre 2015 AUXILIAR:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación y Computación 1 CODIGO: 0770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas
Más detalles3.3. Pilas 3.3. PILAS 3
3.3. PILAS 3 3.3. Pilas Una Pila es una estructura de datos lineal que sólo permite insertar, eliminar y consultar elementos en uno de sus extremos, que denominamos cima. Es, por tanto, una estructura
Más detallesLibrerías estándar en C++ STL: Standard Template Library. Álvaro Sánchez Miralles José Porras (Fidel Fernández)
Librerías estándar en C++ STL: Standard Template Library Álvaro Sánchez Miralles José Porras (Fidel Fernández) Cadenas de caracteres Es una clase que se encuentra en librería estandar Consta,
Más detalles(1) Recordemos qué es una pila...
(1) Recordemos qué es una pila... TAD Pila(α) observadores básicos vacía? : pila(α) bool tope : pila(α) p α desapilar : pila(α) p pila(α) generadores vacía : pila(α) apilar : α pila(α) pila(α) otras operaciones
Más detallesSEGUNDO EXAMEN PARCIAL ESTRUCTURA DE DATOS Y ALGORITMOS 27 MARZO 2014 (Grupo 81M Leganés Mañana)
SEGUNDO EXAMEN PARCIAL ESTRUCTURA DE DATOS Y ALGORITMOS 27 MARZO 2014 (Grupo 81M Leganés Mañana) Apellidos y Nombre: Grupo Algunas reglas: Antes de comenzar el examen, escribe tu nombre y grupo. Lee atentamente
Más detallesAPUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.
APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido
Más detallesINSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES
OBJETIVO: El estudiante desarrollará aplicaciones mediante la implementación de estructuras de datos basadas en Colas MATERIAL Y EQUIPO NECESARIO: Papel y lápiz Se recomienda la comprobación de los ejercicios
Más detallesEste material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Listas Enlazadas Estructuras de datos dinámicas
Más detallesUnidad Nº V Listas Enlazadas
Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta
Más detallesEjercicio 1. Ejercicio 2
Todos los ejercicios incluyen una parte opcional de mayor dificultad, indicada con una serie de asteriscos en función del grado de dificultad. Ejercicio 1 Este ejercicio servirá para practicar la declaración
Más detalles12. COLAS Introducción Fundamentos
Ricardo Ferrís Castell Algoritmos y Estructuras de Datos I 12. COLAS 12.0 INTRODUCCIÓN...41 12.1 FUNDAMENTOS...41 12.2. REPRESENTACIÓN DE LAS COLAS EN C++...42 Implementación mediante estructuras estáticas:
Más detallesTema 03: TAD Cola. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 03: TAD Cola M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Descripción del TAD Cola Especificación
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C
2013 ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C Departamento de Computación UNAN-León TEMA 4: ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) 4.1 INTRODUCCIÓN: En términos de listas lineales, una pila puede ser
Más detallesCapítulo. Listas, pilas y colas en C++ Contenido. Introducción
Capítulo 34 Listas, pilas y colas en C++ Contenido Tipo abstracto de datos lista Operaciones de listas enlazadas, clase lista Inserción en una lista Buscar un elemento y recorrer una lista enlazada Borrado
Más detallesUno de los conceptos más útiles en ciencias de la computación es la pila.
23. PILA. (Stack). Tipos de Datos Abstractos. 23.1 Conceptos. Uno de los conceptos más útiles en ciencias de la computación es la pila. Una pila es una colección ordenada de elementos de igual tipo, en
Más detallesTema 2. Tipos y Estructuras Básicas
Tema 2. Tipos y Estructuras Básicas 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
Más detallesTaller de Programación I. Tema 08: Estructuras Dinámicas de Datos en Java
INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Programación I Curso Java J2SE Tema 08: Estructuras Dinámicas de Datos en Java Ing. Manuel López Ramos Parte I Qué son las estructuras
Más detallesIntroducción: una simple colección
Introducción: una simple colección Implemente una clase denominada Lista. La clase deberá mantener una colección de números y proveer los siguientes i métodos: Listas dinámicas simplemente enlazadas Franco
Más detallesIMPLEMENTACIÓN DE PILAS CON LISTAS EN C++
IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ Fichero nodo.h #ifndef NODO_H #define NODO_H const int cantidad_nodos = 10; class Nodo private: string dato; Nodo* siguiente; public: Nodo(); void setdato(string
Más detallesUniversidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas PROGRAMA DEL CURSO. I. Información General
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas I. Información General PROGRAMA DEL CURSO Nombre Introducción a la Programación y Computación 1 Código 0770
Más detallesUNIDAD 2. ESTRUCTURAS DE DATOS SECUENCIALES. 1. Pilas (Stacks)
UNIDAD 2. ESTRUCTURAS DE DATOS SECUENCIALES 1. Pilas (Stacks) Una pila es una coleccion de elementos en la que sólo se pueden insertar y eliminar datos por uno de los extremos de la lista. Al igual que
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 detallesImplementaciones de pilas, colas y afines. Memoria dinámica.
Implementaciones de pilas, colas y afines. Memoria dinámica. 1 1 Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina Algoritmos y Estructuras de Datos II, segundo cuatrimestre
Más detallesPROGRAMA DEL CURSO AREA A LA QUE PERTENECE: POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: 2do Semestre 2017 AUXILIAR:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS I. Información General PROGRAMA DEL CURSO NOMBRE DEL CURSO: Introducción a la Programación y Computación 1 CODIGO: 0770
Más detallesPILAS. Prof. Ing. M.Sc. Fulbia Torres
S ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS PILAS Definición. Operaciones. Implementación secuencial. Aplicaciones. Ejemplos. Ejercicios. DEFINICIÓN Una PILA (o stack) es una estructura
Más detallesEl TAD Grafo. Objetivos. Contenidos
Objetivos q Estudiar la especificación del TAD Grafo q Presentar diferentes alternativas de implementación q Conocer los algoritmos más importantes de manipulación de grafos Contenidos 4.1 Conceptos 4.2
Más detallesProgramación Introducción al Diseño de Tipos Abstractos de Datos
Programación 2 11- Introducción al Diseño de Tipos Abstractos de Datos 1 Sobre TADs Especificación TAD Imp. 1 Imp. m Aplicaciones void P1( ){ } void Pn( ){ } void P1( ){ } void Pn( ){ } 2 Algunas preguntas
Más detallesTema 5. Tipos Abstractos de Datos
. E.U.Politécnica. I.T.Industrial (Electricidad) Tema 5. Tipos Abstractos de Datos. E.U. Politécnica Curso 2004-2005 Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis
Más detallesEstructura de Datos. Centro Universitario UAEM Valle de México. Unidad II. Estructuras de Datos Lineales - Listas
Estructura de Datos Centro Universitario UAEM Valle de México Unidad II. Estructuras de Datos Lineales - Listas Licenciatura en Ingeniería en Computación Ph. D. Victor Manuel Landassuri Moreno vmlandassurim@uaemex.mx
Más detallesEstructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas
Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas Departamento de Informática Universidad de Valladolid Curso 2011-12 Grado en Ingeniería Informática Grado en Ingeniería Informática de
Más detallesImplementación de las Clases Pila, Cola, Lista y Arbol
1/1 Implementación de las Clases Pila, Cola, Lista y Arbol Josefina Sierra Santibáñez 28 de noviembre de 2017 2/1 Implementación de Estructuras de Datos Implementaremos cada estructura de datos en dos
Más detallesCapitulo V Listas Enlazadas
Capitulo V Listas Enlazadas Muere lentamente, quien abandona un proyecto antes de iniciarlo, no preguntando de un asunto que desconoce o no respondiendo cuando le indagan sobre algo que sabe. Evitemos
Más detalles2. ESTRUCTURAS BÁSICAS
2. ESTRUCTURAS BÁSICAS En el computador un conjunto (no vacío) de datos se almacenan en memoria; el área de memoria se denomina por el elemento X k ; esto es una celda, una unidad de memoria direccionable;
Más detallesExperiencia en gestión de proyectos, bases de datos, licenciatura en informática o afines
1. DATOS GENERALES DEL CURSO Nombre del curso Estructuración de Datos Programa al que pertenece Créditos Horas teoría 35 Horas práctica 70 Eje de formación Perfil deseable del profesor LICENCIATURA EN
Más detallesAlonso Ramírez Manzanares Computación y Algoritmos 10.03
Recursividad mat-151 1 Ejercicio de recursión: dibujando una regla Queremos dibujar las marcas de diferentes tamaños de una regla. Marcas grandes cada 1/2 cm, marcas más pequeñas cada 1/4 cm... hasta una
Más detallesASIGNATURA: ESTRUCTURA DE DATOS II
ASIGNATURA: ESTRUCTURA DE DATOS II Cód: 31-206 Régimen cuatrimestral Horas reloj semanales: 4 Horas teóricas: 15 Horas prácticas: 45 Horas totales: 60 Carrera: Sistemas 2016 FUNDAMENTOS: Un tipo de dato
Más detallesCreación de clases en C++ (I)
Clases en C Creación de clases en C++ (I) Programación Orientada a Objeto Ing. Civil en Telecomunicaciones Convertir estructura InfoAlumno en una clase Escribir una clase simple en C++, con constructores
Más detallesEstructura de datos y de la información Boletín de problemas - Tema 10
Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico
Más detallesPráctica 2 - Manejo de estructuras de datos y punteros
Práctica 2 - Manejo de estructuras de datos y punteros Organización del Computador 2 1er Cuatrimestre 2017 1. Estructuras estáticas: Vectores y Matrices Ejercicio 1 Para cada uno de los siguientes ítems,
Más detallesEstructuras de datos. Colecciones en C#. Arreglos, Listas, Pilas, Colas y Árboles Métodos de búsqueda y ordenamiento
Estructuras de datos. Colecciones en C#. Arreglos, Listas, Pilas, Colas y Árboles Métodos de búsqueda y ordenamiento Temas Colecciones en C# Tipos de estructuras de datos Arreglos, listas, pilas y colas
Más detalles11. PILAS Introducción Fundamentos
11. PILAS 11.0 INTRODUCCIÓN... 31 11.1 FUNDAMENTOS... 31 11.2. REPRESENTACIÓN DE LAS PILAS EN C++... 32 Implementación mediante estructuras estáticas... 36 Implementación mediante estructuras dinámicas...
Más detalles