Tipo de dato abstracto
|
|
- María Josefa Caballero Contreras
- hace 5 años
- Vistas:
Transcripción
1 /6/01 Etructura de Dato Etructura de Dato Clae 4 Pila y cola Departamento de Ciencia e Ingeniería de la Computación Univeridad Nacional del Sur Bahía Blanca, Argentina Tipo de dato abtracto Un tipo de dato abtracto (TDA) (en inglé, ADT por Abtract Data Type) e un tipo definido olamente en término de u operacione y de la retriccione ue valen entre la operacione. La retriccione la daremo en término de comentario. Cada TDA e repreenta en eta materia con una (o varia) interface (cada una llamada ort). Una o má implementacione del TDA e brindan en término de clae concreta. Hoy daremo lo TDA Pila (Stack) y Cola (Queue) (la clae ue viene daremo u aplicacione). Etructura de dato TDA Pila (Stack) Pila: Colección lineal de objeto actualizada en un extremo llamado tope uando una política LIFO (lat in firt out, el primero en entrar e el último en alir). Operacione: puh(e): Inerta el elemento e en el tope de la pila pop(): Elimina el elemento del tope de la pila y lo entrega como reultado. Si e aplica a una pila vacía, produce una ituación de error. iempty(): Retorna verdadero i la pila no contiene elemento y falo en cao contrario. top(): Retorna el elemento del tope de la pila. Si e aplica a una pila vacía, produce una ituación de error. ize(): Retorna un entero natural ue indica cuánto elemento hay en la pila. Implementación de Pila Definición de una interfaz Pila: Se abtrae de la ED con la ue e implementará Se documenta el ignificado de cada método en lenguaje natural Se ua un parámetro formal de tipo repreentando el tipo de lo elemento de la pila Se definen excepcione para la condicione de error Etructura de dato Etructura de dato 4 La flecha punteada e lee implementa. Daremo tre implementacione de la interfaz Stack<E> con tre clae: PilaArreglo<E>, PilaEnlazada<E> y PilaLita<E> Diagrama UML del dieño Interface Stack<E> encabezado de operacione.. public interface Stack<E> { // Inerta item en el tope de la pila. public void puh( E item ); OJO: En la PC uar comentario Javadoc. // Retorna true i la pila etá vacía y falo en cao contrario. public boolean iempty(); // Elimina el elemento del tope de la pila y lo retorna. // Produce un error i la pila etá vacía. public E pop() throw EmptyStackException; PilaArreglo<E> Atributo Implementación de contructore y de operacione PilaEnlazada<E> Atributo Implementación de contructore y de operacione PilaConLita<E> Atributo Implementación de contructore y de operacione // Retorna el elemento del tope de la pila y lo retorna. // Produce un error i la pila etá vacía. public E top() throw EmptyStackException; // Retorna la cantidad de elemento de la pila. public int ize(); Etructura de dato Etructura de dato 6 El uo total o parcial de ete material etá permitido iempre ue e haga mención explícita de u fuente: Etructura de Dato. Nota de Clae. Sergio A. Gómez. Univeridad Nacional del Sur. (c) Departamento de Ciencia e Ingeniería de la Computación Univeridad Nacional del Sur 1
2 /6/01 Etructura de Dato Implementacione de pila 1) Con un arreglo ) Con una etructura de nodo enlazado ) En término de una lita (lo dejamo pendiente hata dar el TDA Lita) public cla PilaArreglo<E> implement Stack<E> { // Archivo: AplicacionUaPilaArreglo.java public cla AplicacionUaPilaArreglo { public tatic void main( String [] arg ) { Stack<Integer> = new PilaArreglo<Integer>();.puh( );.puh( );.puh( );.puh( );.puh( ); public cla PilaArreglo<E> implement Stack<E> { protected E [] dato; public cla PilaArreglo<E> implement Stack<E> { protected E [] dato; dato MAX 1 tamaño 9 dato MAX 1 tamaño 0 Contructor: PilaArreglo( int MAX ) { Tamaño = 0; dato = (E []) new Object[MAX]; NOTA: Puedo tener contructore, uno donde el cliente epecifica MAX y otro donde no e epefica MAX y tiene un valor por defecto (e.g., para tener una pila de 0 elemento, ecribir PilaArreglo() { thi(0); 10 ). public cla PilaArreglo<E> implement Stack<E> { protected E [] dato; public cla PilaArreglo<E> implement Stack<E> { protected E [] dato; dato tamaño MAX 1 Pila Vacía: iempty() Retornar tamaño== 0 11 dato MAX 1 tamaño Apilar: Puh(E item): Si tamaño == TAMAÑO DEL ARREGLO entonce error ( Pila llena ) dato[tamaño] = item tamaño = tamaño + 1 NOTA: En el cao de la ituación de error e puede: (1) Diparar una excepción indicando pila llena en O(1), o () Incrementar el tamaño del arreglo, copiar lo elemento e inertar el nuevo elemento en O(n) 1 El uo total o parcial de ete material etá permitido iempre ue e haga mención explícita de u fuente: Etructura de Dato. Nota de Clae. Sergio A. Gómez. Univeridad Nacional del Sur. (c) Departamento de Ciencia e Ingeniería de la Computación Univeridad Nacional del Sur
3 /6/01 Etructura de Dato public cla PilaArreglo<E> implement Stack<E> { protected E [] dato; Pila: Implementación con nodo enlazado // Archivo: PilaEnlazada.java public cla PilaEnlazada<E> implement Stack<E> { dato tamaño MAX 1 Tope: E pop() Si tamaño == 0 entonce error ( Pila vacía ) aux = dato[tamaño 1] dato[tamaño 1] = null tamaño = tamaño 1 retornar aux 1 // Archivo: AplicacionUaPilaEnlazada.java public cla AplicacionUaPilaEnlazada { public tatic void main( String [] arg ) { Stack<Integer> = new PilaEnlazada<Integer>();.puh( );.puh( );.puh( );.puh( );.puh( ); 14 Pila: Implementación con nodo enlazado public cla Nodo<E> { private E elemento; private Nodo<E> iguiente; public Nodo() { thi(null, null); public Nodo( E item ) {thi(item,null); public Nodo( E item, Nodo<E> ig ) { elemento=item; iguiente=ig; public E getelemento() { return elemento; public void etelemento( E elemento ) { thi.elemento=elemento; public Nodo<E> getsiguiente() { return iguiente; public void etsiguiente( Nodo<E> iguiente ){ thi.iguiente = iguiente; Public cla PilaEnlazada<E> implement Stack<E> { 1 Pila: Implementación con nodo enlazado Public cla PilaEnlazada<E> implement Stack<E> { Contructor: Head = null Tamaño = 0 16 Pila: Implementación con nodo enlazado Pila: Implementación con nodo enlazado Public cla PilaEnlazada<E> implement Stack<E> { iempty(): Return head == null O Retornar tamaño == 0 Public cla PilaEnlazada<E> implement Stack<E> { puh(e item): Nodo<E> aux = new Nodo<E>( ) aux.etelemento( item ) aux.etsiguiente( head ) head = aux tamaño = tamaño El uo total o parcial de ete material etá permitido iempre ue e haga mención explícita de u fuente: Etructura de Dato. Nota de Clae. Sergio A. Gómez. Univeridad Nacional del Sur. (c) Departamento de Ciencia e Ingeniería de la Computación Univeridad Nacional del Sur
4 /6/01 Etructura de Dato Pila: Implementación con nodo enlazado Pila: Implementación con nodo enlazado rabo public cla PilaEnlazada<E> implement Stack<E> { E pop(): Si iempty() entonce error( Pila vacia ) aux = head.getelemento() head = head.getsiguiente() tamaño = tamaño 1 retornar aux 19 Pregunta: Por ué conviene inertar en la cabeza de la lita y no en el rabo? Si la pila tiene n elemento: Al inertar en la cabeza tenemo operacione con O(1) Al inertar en el rabo tenemo operacione con O(n) 0 TDA Cola Cola: Colección lineal de objeto actualizada en u extremo llamado frente y rabo iguiendo una política FIFO (firt in firt out, el primero en entrar e el primero en alir) Operacione: enueue(e): Inerta el elemento e en el rabo de la cola deueue(): Elimina el elemento del frente de la cola y lo retorna. Si la cola etá vacía e produce un error. front(): Retorna el elemento del frente de la cola. Si la cola etá vacía e produce un error. iempty(): Retorna verdadero i la cola no tiene elemento y falo en cao contrario ize(): Retorna la cantidad de elemento de la cola. Implementación de Cola Definición de una interfaz Cola: Se abtrae de la ED con la ue e implementará Se documenta el ignificado de cada método en lenguaje natural Se ua un parámetro formal de tipo repreentando el tipo de lo elemento de la cola Se definen excepcione para la condicione de error 1 Etructura de dato public interface Queue<E> { // Inerta el elemento e al final de la cola public void enueue(e e); // Elimina el elemento del frente de la cola y lo retorna. // Si la cola etá vacía e produce un error. public E deueue() throw EmptyQueueException; // Retorna el elemento del frente de la cola. // Si la cola etá vacía e produce un error. public E front() throw EmptyQueueException; Implementacione de cola 1) Con un arreglo ) Con una etructura enlazada ) En término de una lita (lo dejamo pendiente hata dar el TDA Lita) // Retorna verdadero i la cola no tiene elemento // y falo en cao contrario public boolean iempty(); // Retorna la cantidad de elemento de la cola. public int ize(); 4 El uo total o parcial de ete material etá permitido iempre ue e haga mención explícita de u fuente: Etructura de Dato. Nota de Clae. Sergio A. Gómez. Univeridad Nacional del Sur. (c) Departamento de Ciencia e Ingeniería de la Computación Univeridad Nacional del Sur 4
5 /6/01 Etructura de Dato N N 1 f 0 r f 0 r e un arreglo de N componente y mantiene lo elemento de la cola El tamaño máximo de e N 1 f e la poición en del próximo elemento a eliminar en un deueue r e la poición en la cual e va a inertar el iguiente elemento con un enueue. Implementaremo operacione en O(1) Etructura de dato Contructor: f = 0 r = 0 Etructura de dato N N 1 f 0 r f 0 r Contructor: f = 0 r = 0 iempty(): Retornar f == r Contructor: f = 0 r = 0 iempty(): Retornar f == r front(): Si iempty() entonce error( cola vacía ) retornar [f] Etructura de dato Etructura de dato N N 1 f 0 r f 0 r Contructor: f 0 r 0 iempty(): Retornar f == r deueue(): Si iempty() entonce error( cola vacía ) temp = [f]; [f] = null; f = (f+1) mod N; retornar temp front(): Si iempty() entonce error( cola vacía ) retornar [f] Etructura de dato 9 Size(): Retornar (N f+r) mod N enueue(e): Si ize() == N 1 entonce error( cola llena ) [r] = e r = (r+1) mod N Nota: La cola puede almacenar N 1 elemento a lo umo Etructura de dato 0 El uo total o parcial de ete material etá permitido iempre ue e haga mención explícita de u fuente: Etructura de Dato. Nota de Clae. Sergio A. Gómez. Univeridad Nacional del Sur. (c) Departamento de Ciencia e Ingeniería de la Computación Univeridad Nacional del Sur
6 /6/01 Etructura de Dato Cola: Implementación con nodo enlazado Cola: Implementación con nodo enlazado public cla ColaEnlazada<E> implement Queue<E> { protected Nodo<E> head, tail; Implementaremo operacione en orden 1. public void enueue( E elem ) { Nodo<E> nodo = new Nodo<E>(); nodo.etelemento( elem ); nodo.etsiguiente( null ); if (tamaño == 0 ) head = nodo; ele tail.etsiguiente( nodo ); tail = nodo; tamaño++; 1 public cla ColaEnlazada<E> implement Queue<E> { protected Nodo<E> head, tail; Cola public E deueue() throw EmptyQueueException { if( tamaño == 0 ) throw new EmptyQueueException( cola vacia ); E tmp = head.getelemento(); head = head.getnext(); tamaño ; if( tamaño == 0 ) tail = null; return tmp; Problema: Inertar lo elemento 1,,, 4 en una cola y luego motrar todo lo elemento de la cola. public cla App { public tatic void main( String [] arg ) { try { Queue<Integer> = new ColaEnlazada<Integer>(); for( int i=1; i<=4; i++).enueue( i ); while(!.iempty() ) Sytem.out.println(.deueue() ); catch( EmptyQueueException e ) { Sytem.out.println( e: + e.getmeage() ); Bibliografía Goodrich & Tamaia, Data Structure and Algorithm in Java, 4th edition, John Wiley & Son, 006, Capítulo Se puede profundizar la parte de lita enlazada en la Sección. 4 El uo total o parcial de ete material etá permitido iempre ue e haga mención explícita de u fuente: Etructura de Dato. Nota de Clae. Sergio A. Gómez. Univeridad Nacional del Sur. (c) Departamento de Ciencia e Ingeniería de la Computación Univeridad Nacional del Sur 6
Temario 3/29/2016. Estructuras de Datos. Clase 4 Pilas y colas
/9/016 Etructura de Dato Etructura de Dato Clae 4 Pila y cola http://c.un.edu.ar/~ag Departamento de Ciencia e Ingeniería de la Computación Univeridad Nacional del Sur Bahía Blanca, Argentina TDA Pila:
Estructuras de Datos Clase 4 Pilas y colas
Estructuras de Datos Clase 4 Pilas y colas Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Tipo
Estructuras de Datos Clase 4 Pilas y colas
Estructuras de Datos Clase 4 Pilas y colas Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Tipo
Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte)
Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte) Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía
Estructuras de Datos Clase 6 Listas e Iteradores (primera parte)
Estructuras de Datos Clase 6 Listas e Iteradores (primera parte) Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía
Programació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
Estructuras 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
Programació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
Las 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
Estructuras de Datos Clase 5 Aplicaciones de Pilas y Colas
Estructuras de Datos Clase 5 Aplicaciones de Pilas y Colas Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,
Estructuras de Datos. Clase 5 Aplicaciones de Pilas y Colas
Clase 5 Aplicaciones de Pilas y Colas http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina TDA Pila (Stack) Pila:Colección de objetos actualizada usando una política LIFO (last-in first-out, el primero en
Estructuras 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
Estructuras de Datos Clase 5 Aplicaciones de Pilas y Colas
Estructuras de Datos Clase 5 Aplicaciones de Pilas y Colas Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,
Tema 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
IMPLEMENTACIÓ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
CLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS
CLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS 1 TEMAS A VER Listas simples genéricas Pilas Colas 2 LISTA SIMPLE GENÉRICA Una lista simple genérica nos permite crear listas de diferentes objetos: enteros, char,
Estructuras de Datos Dinámicas: Tipo de Dato Abstracto parte I. Programación I Departamento de Informática Universidad Nacional de San Luis Argentina
Estructuras de Datos Dinámicas: Tipo de Dato Abstracto parte I Programación I Departamento de Informática Universidad Nacional de San Luis Argentina Progreso de la Abstracción Los diferentes niveles de
Tema 7. Colas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía. {badia, bmartine,
Tema 7. Colas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía {badia, bmartine, morales}@icc.uji.es Estructuras de datos y de la información Universitat Jaume
Colas. 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
Tema 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
Ingeniera 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
Estructuras de Datos Clase 14 Árboles binarios de búsqueda
Estructuras de Datos Clase 14 Árboles binarios de búsqueda Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,
TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica
TEMA 3. Árboles Objetivos En este tema se estudia una de las estructuras de datos no lineal más importante en computación, el árbol. Comenzaremos introduciendo la terminología asociada a los árboles y
Pilas. Carlos Delgado Kloos Dep. Ingeniería Telemática Univ. Carlos III de Madrid. Java: Pilas / 1
Pilas Carlos Delgado Kloos Dep. Ingeniería Telemática Univ. Carlos III de Madrid Java: Pilas / 1 Ejemplo Java: Pilas / 2 Ejemplo Java: Pilas / 3 Ejemplo Java: Pilas / 4 Características Estructura lineal
Estructuras de Datos
8 de marzo de 2011 1 2 3 4 5 Tipo de Dato Abstracto Un tipo de dato abstracto (TDA), corresponde a un conjunto de valores y un conjunto de operaciones sobre tales valores. s de TDA Enteros. Reales. Booleanos.
Introducció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
Estructuras de datos Solemne 2
Estructuras de datos Solemne 2 Profesores: Luis Bastías, Rodrigo Paredes, Iván Zuñiga Ayudantes: Patricia Albornoz, Francisco Claude, Hans Ulloa Sin apuntes, 1:30 horas P1. Move-To-Front Lists Utilizando
Guía práctica de estudio 05. Estructuras de datos lineales: Pila y cola.
Guía práctica de estudio 05. Estructuras de datos lineales: Pila y cola. Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica
Segundo 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
Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común
Estructuras de Datos Clase 20 Árboles de búsqueda
Estructuras de Datos Clase 20 Árboles de búsqueda Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina
Tema 2: Clases y Objetos
Tema 2: Clases y Objetos Anexo: tipo de datos Pila Programación Orientada a Objetos Curso 2017/2018 Características del paradigma OO Curso 2017/2018 Programación Orientada a Objetos 2 Características del
Estructuras de Datos Clase 1 - Introducción
Estructuras de Datos Clase 1 - Introducción Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Trivia
Solució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
Página 1 de 8 Buscador En nuestro sitio Secciones Noticias Blogs Cursos Artículos Foros Direcciones Código fuente Formación Tienda Cursos bbdd Otras zonas ASP en castellano Bases de datos en castellano
Ejercicio 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.
Tipos de Datos Abstractos
Una clase que modela los atributos y el comportamiento de una colección de objetos, define un tipo de dato. Si en el modelo se encapsula la representación de los atributos y la implementación de las operaciones,
Listas, pilas, colas
Listas, pilas, colas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas TAD Tipo Abstracto de Dato Qué es un TAD? TAD: Tipo Abstracto de Dato. Nuevo
Estructuras de Datos Clase 10 Árboles binarios
Estructuras de Datos Clase 10 Árboles binarios Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina
Estructuras de Datos Clase 1 -Introducción
Estructuras de Datos Clase 1 -Introducción Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Trivia
Estructuras de Datos
Estructuras de Datos Conjunto de nodos sobre los cuales existe una relación de paternidad que verifica: Si no es vacío tiene un único nodo distinguido llamado raíz, que no tiene padre. Cada nodo que no
Algoritmos 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
Taller 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
Práctica 5. Fecha límite de entrega: viernes, 14 de diciembre
Algoritmos http://www.lfcia.org/alg/ 2007-2008 Ingeniería Informática Ingeniería Técnica de Informática de Gestión Práctica 5 Fecha límite de entrega: viernes, 14 de diciembre Implementación de un Diccionario
EDA. Tema 8 Colas de Prioridad: Heaps
EDA. Tema 8 Colas de Prioridad: Heaps Natividad Prieto Sáez. DSIC EDA, T-8. Curso 02/03. N.Prieto p.1/55 Objetivos Estudio de las definiciones asociadas a las Colas de Prioridad: Especificación: operaciones
Tema: 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
Pilas, Colas. Andrea Rueda. Estructuras de Datos. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas
Pilas, Colas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Quiz: STL Quiz: STL Standard Template Library (STL) std::vector - Arreglo dinámico,
PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
Estructuras de Datos Clase 10 Árboles binarios
Estructuras de Datos Clase 10 Árboles binarios Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina
Estructuras de Datos. Clase 1 - Introducción. Dr. Sergio A. Gómez.
Clase 1 - Introducción http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina Trivia Asignatura: Estructuras de datos Profesor: Dr. Sergio Alejandro Gómez Email: sag@cs.uns.edu.ar Horarios: Teoría: Martes y
2. Con una lista ordenada, aunque la localización y eliminación es rápida el problema es en la inserción de datos pues puede ser del orden de O(n).
Capítulo 7 Heap 7.1 Introducción Una cola de prioridad es una estructura de datos apropiada cuando la tarea más importante es localizar y/o eliminar el elemento con valor menor de una colección. Ejemplo
Soluciones Ejercicios Tema 7. Cambio de Signo Pila (3/3) if (!p.esvacia()) { d i l cambiasignopila(p); this.apilar(new Integer(-dato));
Cambio de Signo Pila (1/3) Soluciones Ejercicios Tema 7 Germán Moltó Martínez gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica
Conceptos Básicos. Programación Orientada a Objetos 2
Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para
Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad. Guillermo Román Díez
Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción a la Recursión
Representaciones de árboles
Clase 9 Árboles Generales (segunda parte) http://cs.uns.edu.ar/~sag Bahía Blanca, rgentina Representaciones de árboles Del padre Lista de hijos Goodrich& Tamassia: Del padre + Lista de hijos Hijo extremo
Colas. 5.1 Implementación
Capítulo 5 Colas Las colas al igual que las pilas son un tipo especial de listas en las cuales los elementos se insertan por un lado y se eliminan por el otro. Es decir se sacan en el mismo orden en que
Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1
Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo
Estructuras de Datos. Clase 20 Árboles de búsqueda. Dr. Sergio A. Gómez.
Clase 20 Árboles de búsqueda http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina Motivaciones El árbol binario de búsqueda permite implementar conjuntos mapeos con un tiempo de operaciones buscar, insertar
Colas Implementación con gestión estática de memoria
Colas Implementación con gestión estática de memoria Esquema general 0 1 2 3 n - 1... _primero = 0 _ultimo = 0 Esquema general * Añadir un elemento a la cola. 0 1 2 3 n - 1 'a'... 1) _vector[_ultimo] =
Tipo de dato Abstracto (Tad) PILAS COLAS
Tipo de dato Abstracto (Tad) PILAS COLAS Tipos Abstractos de Datos - PILA Tope Poner Sacar Tipos Abstractos de Datos - PILA El tipo de Dato PILA (stack) es una estructura de datos que organiza los datos
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
LEA ATENTAMENTE ESTAS INSTRUCCIONES ANTES DE COMENZAR LA PRUEBA
Asignatura Estructura de Datos y Algoritmos Grado en Ingeniería Informática y Doble Grado en Informática y Administración de Empresas 24 de Marzo de 2014. SEGUNDO EXAMEN PARCIAL Nombre:... Apellidos:...
Tema: 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
Estructuras de Datos. Clase 10 Árboles binarios
Clase 10 Árboles binarios http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina Árboles binarios Un árbol binario es un árbol ordenado que cumple: 1) Cada nodo tiene a lo sumo dos hijos 2) Cada nodo hijo es
Construcciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Pilas Motivación
Capítulo 4 Pilas Las pilas son estructuras muy sencillas y poderosas, también conocidas como LIFO (last in, first out) por la forma en que se trabaja con ellas. Ejemplo de ellas son las pilas de charolas
NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS
1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para
Soluciones Ejercicios Tema 8
Traza Pila (1/2) Pila p = new ArrayPila(); Soluciones Ejercicios Tema 8 Germán Moltó Martínez gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería
CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;
Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja
Formatos para prácticas de laboratorio
Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC, LSC 2003-1 5037 Algoritmos y Estructuras de Datos PRÁCTICA No. 2 LABORATORIO DE NOMBRE DE LA PRÁCTICA Ingeniero
Estructuras de Datos y Algoritmos TDA LISTA
Estructuras de Datos y Algoritmos TDA LISTA Metáfora del TDA (repaso) Conjunto de operaciones forman una pared forman una interfase entre los programas y la estructura de datos Diseño de una Clase (repaso)
Estructura 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
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3 Contenidos: 1. Funciones y clases genéricas 2. Excepciones 3. Asertos 4. El puntero this 5. Redefinición
Estructuras 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
Abstracción. Encapsulamiento. Polimorfismo. Objeto. método / objeto / clase / módulo. Separación de las propiedades de un
Abstracción Encapsulamiento Separación de las propiedades de un método / objeto / clase / módulo de la implementación del mismo Ocultamiento de información No es necesario dar conocer los detalles de la
Examen de Estructuras de Datos y Algoritmos (Ingeniería Informática)
Examen de Estructuras de Datos y Algoritmos (Ingeniería Informática) Primera parte (50% nota del examen) Septiembre 2009 1) Se desea hacer un método con la cabecera que se muestra abajo que cree y retorne
INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)
APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java
1. 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
24/04/2018. Estructuras de Datos. Clase 11 Colas con prioridad. Comparación de claves con órdenes totales
Clase 11 Colas con prioridad http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina ADT Cola con prioridad Una cola con prioridad almacena una colección de elementos que soporta: Inserción de elementos arbitraria
Grado en Ingeniería Informática. Estructura de Datos y Algoritmos, Grupo 84M, 2014/ de Marzo de
Grado en Ingeniería Informática Estructura de Datos y Algoritmos, Grupo 84M, 2014/2015 12 de Marzo de 2015 Nombre y Apellidos:... PROBLEMA 1 (1 punto) Programación Orientada a Objetos. Una empresa de alquiler
Tema 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
Tema 4- Representación Enlazada
Tema 4- Representación Enlazada Tema 4: Representación Enlazada Índice general: 1. Representación Enlazada: Variables referencia Java como enlaces. 2. Listas Enlazadas Genéricas. Operaciones y costes.
TRABAJO PRÁCTICO N 7 Mapeos, diccionarios, arboles binarios de búsqueda y tablas de dispersión
ESTRUCTURAS DE DATOS TRABAJO PRÁCTICO N 7 Mapeos, diccionarios, arboles binarios de búsqueda y tablas de dispersión Departamento de Ciencias e Ingeniería de la Computación - U.N.S. Segundo cuatrimestre
Examen Teórico Convocatoria de Junio de 2012
Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica
Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++
Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ OBJETIVO En este documento se presentan las construcciones básicas de orientación a objetos del lenguaje de programación C++, y recomendaciones
SEGUNDO 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
Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Examen parcial Convocatoria de junio de 2005 FUNDAMENTOS DE LA PROGRAMACIÓN
EJERCICIO 1 (1.5 puntos) Diseñe un conjunto de casos de prueba adecuado para comprobar el funcionamiento de un método encargado de calcular la duración de una llamada telefónica. Entradas Hora de inicio
Soluciones del Examen de Fundamentos de Computadores y Lenguajes
Soluciones del Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Junio 2003 1) Escribir un fragmento de programa que haga lo siguiente Declara
Examen Teórico. Convocatoria de Febrero de 2016
Examen Teórico Convocatoria de Febrero de 2016 Nombre: DNI: Grupo: 1. Responde a las siguientes cuestiones: a) Un programador Java empaqueta el código de un proyecto en el fichero videojuego.jar cuya clase
HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá
Un hombre caminaba por el bosque cuando vió una zorra lisiada. " Cómo hará para alimentarse?", pensó.
Capitulo III Colas El camino del Tigre Un hombre caminaba por el bosque cuando vió una zorra lisiada. " Cómo hará para alimentarse?", pensó. En ese momento, se acercó un tigre, con un animal entre los
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 Colas MATERIAL Y EQUIPO NECESARIO: Papel y lápiz Se recomienda la comprobación de los ejercicios
Estructura 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
LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)
APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
Tipos abstractos de datos (TAD)
Capítulo 2 Tipos abstractos de datos (TAD) Objetivo: Introducir al alumno las estructuras de datos mediante el concepto de tipo abstracto de datos. En este capítulo se presenta una primera implementación
ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:
Nombre y apellidos: Nota: Escribe tu nombre y apellidos en esta hoja e inmediatamente en todas las suplementarias, incluso las de sucio. El no hacerlo puede suponer tu expulsión Puedes utilizar el lápiz
PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)