Estructuras de datos: Pilas, Colas, Listas
|
|
|
- Fernando Castillo Fidalgo
- hace 9 años
- Vistas:
Transcripción
1 Estructuras de datos: Pilas,, Facultad de Informática Universidad de A Coruña Pilas,,
2 Table of Contents Pilas 1 Pilas 2 3 Pilas,,
3 Table of Contents Pilas 1 Pilas 2 3 Pilas,,
4 Pilas Acceso limitado al último elemento insertado Operaciones básicas: apilar, desapilar y cima. desapilar o cima en una pila vacía es un error en el TDA pila. Quedarse sin espacio al apilar es un error de implementación. Cada operación debería tardar una cantidad constante de tiempo en ejecutarse. Con independencia del número de elementos apiladas. Pilas,,
5 Implementación a base de vectores (i) tipo Pila = registro Cima_de_pila : 0..Tamaño_máximo_de_pila Vector_de_pila : vector [1..Tamaño_máximo_de_pila] de Tipo_de_elemento fin registro procedimiento Crear Pila ( P ) P.Cima_de_pila := 0 fin procedimiento función Pila Vacía ( P ) : test devolver P.Cima_de_pila = 0 fin función Pilas,,
6 Implementación a base de vectores (ii) procedimiento Apilar ( x, P ) si P.Cima_de_pila = Tamaño_máximo_de_pila entonces error Pila llena sino P.Cima_de_pila := P.Cima_de_pila + 1; P.Vector_de_pila[P.Cima_de_pila] := x fin procedimiento función Cima ( P ) : Tipo_de_elemento si Pila Vacía (P) entonces error Pila vacía sino devolver P.Vector_de_pila[P.Cima de Pila] fin función procedimiento Desapilar ( P ) si Pila Vacía (P) entonces error Pila vacía sino P.Cima_de_pila := P.Cima_de_pila - 1 fin procedimiento Pilas,,
7 : Interfaz Pila Pilas // OPERACIONES PÚBLICAS // void apilar(x) ->Inserta x // void desapilar() ->Elimina el último elemento insertado // Object cima() ->Devuelve el último elemento insertado // boolean esvacia() ->Devuelve true si vacía, sino false // void vaciar() ->Elimina todos los elementos // ERRORES: cima o desapilar sobre la pila vacía public interface IPila { void apilar(object x); void desapilar() throws Exception; Object cima() throws Exception; boolean esvacia(); void vaciar(); } Pilas,,
8 : Clase PilaVec (i) import java.util.*; public class PilaVec implements IPila { private Vector p; private int cimadepila; static final int CAPACIDAD_POR_DEFECTO = 10; public PilaVec() { p = new Vector(CAPACIDAD_POR_DEFECTO); cimadepila = -1; } public boolean esvacia() { return (cimadepila == -1); } public void vaciar() { cimadepila = -1; } Pilas,,
9 : Clase PilaVec (ii) } public void apilar(object x) { if (++cimadepila == p.size()) p.add(x); else p.set(cimadepila, x); } public void desapilar() throws Exception { if (esvacia()) throw new Exception("pila vacía"); cimadepila--; } public Object cima() throws Exception { if (esvacia()) throw new Exception("pila vacía"); return p.get(cimadepila); } Pilas,,
10 Table of Contents Pilas 1 Pilas 2 3 Pilas,,
11 Pilas Operaciones básicas: insertar, quitarprimero y primero. Cada rutina debería ejecutarse en tiempo constante. Pilas,,
12 Implementación circular a base de vectores (i) La implementación circular devuelve cabeza y fin al principo del vector cuando rebasan la última posición. 1) Crear Cola (C) cabeza final Pilas,,
13 Implementación circular a base de vectores (i) La implementación circular devuelve cabeza y fin al principo del vector cuando rebasan la última posición. 1) Crear Cola (C) cabeza final final 2) Insertar en Cola (a,c) a cabeza Pilas,,
14 Implementación circular a base de vectores (i) La implementación circular devuelve cabeza y fin al principo del vector cuando rebasan la última posición. 1) Crear Cola (C) cabeza final final 2) Insertar en Cola (a,c) a cabeza final 3) Insertar en Cola (b,c) a b cabeza Pilas,,
15 Implementación circular a base de vectores (i) final 4) Insertar en Cola (c,c) a b c cabeza Pilas,,
16 Implementación circular a base de vectores (i) final 4) Insertar en Cola (c,c) a b c cabeza final 5) Insertar en Cola (d,c) a b c d cabeza Pilas,,
17 Implementación circular a base de vectores (i) final 4) Insertar en Cola (c,c) a b c cabeza final 5) Insertar en Cola (d,c) a b c d cabeza final 6) Quitar Primero (C) b c d cabeza Pilas,,
18 Implementación circular a base de vectores (i) final 4) Insertar en Cola (c,c) a b c cabeza final 5) Insertar en Cola (d,c) a b c d cabeza final 6) Quitar Primero (C) b c d cabeza final 7) Insertar en Cola (e,c) e b c d cabeza Pilas,,
19 (i) Pilas tipo Cola = registro Cabeza_de_cola, Final_de_cola: 1..Tamaño_máximo_de_cola Tamaño_de_cola : 0..Tamaño_máximo_de_cola Vector_de_cola : vector [1..Tamaño_máximo_de_cola] de Tipo_de_elemento fin registro procedimiento Crear_Cola ( C ) C.Tamaño_de_cola := 0; C.Cabeza_de_cola := 1; C.Final_de_cola := Tamaño_máximo_de_cola fin procedimiento función Cola_Vacía ( C ) : test devolver C.Tamaño_de_cola = 0 fin función Pilas,,
20 (ii) Pilas procedimiento incrementar ( x ) (* privado *) si x = Tamaño_máximo_de_cola entonces x := 1 sino x := x + 1 fin procedimiento procedimiento Insertar_en_Cola ( x, C ) si C.Tamaño_de_Cola = Tamaño_máximo_de_cola entonces error Cola llena sino C.Tamaño_de_cola := C.Tamaño_de_cola + 1; incrementar(c.final_de_cola); C.Vector_de_cola[C.Final_de_cola] := x; fin procedimiento Pilas,,
21 (iii) Pilas función Quitar_Primero ( C ) : Tipo_de_elemento si Cola_Vacía ( C ) entonces error Cola vacía sino C.Tamaño_de_cola := C.Tamaño_de_cola - 1; x := C.Vector_de_cola[C.Cabeza_de_cola]; incrementar(c.cabeza_de_cola); devolver x fin función función Primero ( C ) : Tipo_de_elemento si Cola_Vacía ( C ) entonces error Cola vacía sino devolver Vector_de_cola[C.Cabeza_de_cola] fin función Pilas,,
22 : Interfaz Cola // OPERACIONES PÚBLICAS // void insertar(x) -> Inserta x // Object primero() -> Devuelve el primer elemento // Object quitarprimero() -> Devuelve y elimina el primer el // boolean esvacia() -> Devuelve true si vacía, si no false // void vaciar() -> Elimina todos los elementos // ERRORES: primer y quitarprimero sobre una cola vacía public interface ICola { void insertar(object x); Object primero() throws Exception; Object quitarprimero() throws Exception; boolean esvacia(); void vaciar(); } Pilas,,
23 : Clase Vec (i) public class ColaVec implements ICola { private Object [] vector; private int tamanoactual; private int cabezadecola; private int finaldecola; static final int CAPACIDAD_POR_DEFECTO = 10; public ColaVec() { vector = new Object[CAPACIDAD_POR_DEFECTO]; vaciar(); } public void vaciar() { tamanoactual = 0; cabezadecola = 0; finaldecola = -1; } Pilas,,
24 : Clase ColaVec (ii) public boolean esvacia() { return (tamanoactual == 0); } public Object primero() throws Exception { if (esvacia()) throw new Exception("cola vacía"); return vector[cabezadecola]; } private int incrementar(int x) { if (++x == vector.length) x = 0; return x; } Pilas,,
25 : Clase ColaVec (iii) public Object quitarprimero() throws Exception { if (esvacia()) throw new Exception("cola vacía"); tamanoactual--; Object valordevuelto = vector[cabezadecola]; cabezadecola = incrementar(cabezadecola); return valordevuelto; } public void insertar(object x) { if (tamanoactual == vector.length) duplicarcola(); finaldecola = incrementar(finaldecola); vector[finaldecola] = x; tamanoactual++; } Pilas,,
26 : Clase ColaVec (iv) } private void duplicarcola() { Object [] nuevovector = new Object[2*vector.length]; for (int i=0; i<tamanoactual; i++, cabezadecola = incrementar(cabezadecola)) nuevovector[i] = vector[cabezadecola]; vector = nuevovector; cabezadecola = 0; finaldecola = tamanoactual - 1; } Pilas,,
27 Amortización de la duplicación del vector Cuando el vector no se duplica, toda operación se realiza en tiempo constante. La complejidad de una inserción con duplicación es O(N). La duplicación de un vector de N elementos está precedida, al menos, por N/2 inserciones que no duplican el vector. Repartiendo el coste O(N) de la duplicación entre las inserciones precedentes, el coste de insertar aumenta sólo en una constante. Pilas,,
28 Table of Contents Pilas 1 Pilas 2 3 Pilas,,
29 Pilas Operaciones básicas: Visualizar su contenido. Buscar la posición de la primera ocurrencia de un elemento. Insertar y Eliminar un elemento en alguna posición. Buscar k esimo, que devuelve el elemento de la posición indicada Pilas,,
30 Implementación de listas a base de vectores Tiene que declararse el tamaño de la lista. Exige sobrevaloración. Consume mucho espacio. Complejidad computacional de las operaciones: Buscar k esimo, tiempo constante Visualizar y Buscar, tiempo lineal. Insertar y Eliminar son costosas. Insertar o eliminar un elemento exige, en promedio, desplazar la mitad de los valores, O(n). La construcción de una lista o la eliminación de todos sus elementos podría exigir un tiempo cuadrático. Pilas,,
31 Implementación de listas a base de apuntadores Cada nodo apunta al siguiente; el último no apunta a nada. La lista es un puntero al primer nodo (y al último). Complejidad computacional de las operaciones: Visualizar y Buscar, tiempo lineal. Buscar k esimo, tiempo lineal. Eliminar realiza un cambio de apuntadores y una orden dispose, O(1). Usa Buscar anterior cuyo tiempo de ejecución es lineal. Insertar tras una posición p require una llamada a new y dos maniobras con apuntadores, O(1). Buscar la posición p podría llevar tiempo lineal. Un nodo cabecera facilita la inserción y la eliminación al comienzo de la lista. Pilas,,
32 Implementación de listas doblemente enlazadas Cada nodo apunta al siguiente y al anterior. Duplica el uso de la memoria necesaria para los punteros. Duplica el coste de manejo de punteros al insertar y eliminar. La eliminación se simplifica. No es necesario buscar el elemento anterior. Pilas,,
33 Implementación con un nodo cabecera (i) tipo PNodo = puntero a Nodo Lista = PNodo Posición = PNodo Nodo = registro Elemento : Tipo_de_elemento Siguiente : PNodo fin registro procedimiento Crear Lista ( L ) nuevo ( tmp ); si tmp = nil entonces error Memoria agotada sino tmpˆ.elemento := { nodo cabecera }; tmpˆ.siguiente := nil; L := tmp fin procedimiento Pilas,,
34 Implementación con un nodo cabecera (ii) función Lista Vacía ( L ) : test devolver Lˆ.Siguiente = nil fin función función Buscar ( x, L ) : posición de la 1 a ocurrencia o nil p := Lˆ.Siguiente; mientras p <> nil y pˆ.elemento <> x hacer p := pˆ.siguiente; devolver p fin función función Último Elemento ( p ) : test { privada } devolver pˆ.siguiente = nil fin función Pilas,,
35 Implementación con un nodo cabecera (iii) función Buscar Anterior ( x, L ) : posición anterior a x o a nil { privada } p := L; mientras pˆ.siguiente <> nil y pˆ.siguienteˆ.elemento <> x hacer p := pˆ.siguiente; devolver p fin función procedimiento Eliminar ( x, L ) p := Buscar Anterior ( x, L ); si Último Elemento ( p ) entonces error No encontrado sino tmp := pˆ.siguiente; pˆ.siguiente := tmpˆ.siguiente; liberar ( tmp ) fin procedimiento Pilas,,
36 Implementación con un nodo cabecera (iv) procedimiento Insertar ( x, L, p ) nuevo ( tmp ); { Inserta después de la posición p } si tmp = nil entonces error Memoria agotada sino tmpˆ.elemento := x; tmpˆ.siguiente := pˆ.siguiente: pˆ.siguiente := tmp fin procedimiento Pilas,,
Estructuras de datos: Pilas, Colas, Listas
Estructuras de datos:,, Dep. de Computación - Fac. de Informática Universidad de A Coruña J. Santiago Jorge [email protected],, Índice 1 2 3,, Referencias bibliográficas M. A. Weiss., pilas y colas. En Estructuras
Estructuras de datos: Pilas, Colas, Listas
Estructuras de datos: Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge [email protected] Índice Pilas 1 Pilas 2 3 Referencias bibliográficas Pilas M. A. Weiss., pilas
Soluciones Ejercicios Tema 8
Traza Pila (1/2) Pila p = new ArrayPila(); Soluciones Ejercicios Tema 8 Germán Moltó Martínez [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería
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 [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica
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
LISTAS, PILAS Y COLAS
1 LISTAS, PILAS Y COLAS Muchos algoritmos requieren una representación apropiada de los datos para lograr ser eficientes Esta representación junto con las operaciones permitidas se llama Estructura de
Tipos de Datos Abstractos TDA COLA. Representación de una cola
Tipos de Datos Abstractos TDA COLA Representación de una cola La estructura de datos COLA Su nombre se deriva de la metáfora de una cola de personas en una taquilla. La inserción y extracción de elementos
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
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
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
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: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Facultad de Informática Universidad de A Coruña Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2 Table of Contents Árboles
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
PROGRAMACIÓN GENÉRICA
PROGRAMACIÓN GENÉRICA Lenguajes de Programación - Orientación a Objetos: Progr. Genérica 1 Programación genérica Objetivo: escribir algoritmos genéricos, independientes de las clases concretas de los datos
Programación de sistemas Árboles
Programación de sistemas Árboles Departamento de Ingeniería Telemática 1 Contenidos Concepto de árbol Terminología Implementación Casos especiales Árboles binarios de búsqueda Montículos (heaps) 2 Concepto
Fundamentos de Informática
Tema 8: 8: Estructuras datos. Fundamentos Informática 1º Ingeniería Industrial Escuela Superior Ingenieros Universidad Sevilla Ismael Alcalá Torrego José Ángel Acosta Rodríguez Fernando Dorado Navas Fabio
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.
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 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
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
INGENIERIA DE SISTEMAS 1 ESTRUCTURAS DE DATOS (Listas simples) INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS
INGENIERIA DE SISTEMAS 1 ESTRUCTURAS DE DATOS (Listas simples) 1. INTRODUCCIÓN INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS Las computadoras fueron diseñadas o ideadas como una herramienta mediante la cual
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
La clase Grafo. 4 Algoritmos de recorrido de grafos. La clase Vertice. Tema 9: GRAFOS Segunda Parte Estructuras de Datos y Algoritmos Curso 2002/03
La clase Grafo public class Grafo { Tema 9: GRAFOS Segunda Parte Estructuras de Datos y Algoritmos Curso 00/03 private static final int TAMANYO_INICIAL=0; private Vertice tabla []; private int numvertices;
PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07
PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada
UNIVERSIDAD 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
FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005
Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas
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
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
Universidad 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
Programación de sistemas
Programación de sistemas Árboles Julio Villena Román MATERIALES CREADOS EN EL TRABAJO DE DIFERENTES AUTORES: Carlos Delgado Kloos, M.Carmen Fernández Panadero, Raquel M.Crespo García,
1. Árbol Binario de Búsqueda: Las clases Java NodoABB y ABB. 1. Definición y representación en Java 2. Operaciones y su coste estimado
Tema 11- Implementación de Cola de Prioridad y Diccionario Mediante un ABB Tema 11- Implementación de Cola de Prioridad y Diccionario Mediante un Árbol Binario de Búsqueda Germán Moltó Escuela Técnica
Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º
1. Ejercicio (1 punto) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 Describir cual es el estado del array A después de cada paso principal del algoritmo: InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8,
12. LISTAS Introducción Listas con punto de interés
12. LISTAS 12.1. INTRODUCCIÓN... 1 12.2. LISTAS CON PUNTO DE INTERÉS... 1 12.3. IMPLEMENTACIÓN DE LA CLASE LISTA EN C++... 5 12.3.1 Implementación de la clase LISTA en C++ con vectores... 6 12.3.2 Implementación
Tema 2 Tipos abstractos de datos. 2.3 Cola de números enteros.
Tema 2 Tipos abstractos de datos. 2.3 Cola de números enteros. Especificación de TAD s. TAD Cola de Enteros. Definición del TAD Cola de Enteros: Estructura de Datos que contiene una serie de elementos
LISTAS CIRCULARES. // Métodos private CElemento() {} // constructor. ultimo
LISTAS CIRCULARES Una lista circular es una lista lineal en la que el último elemento apunta al primero. Entonces es posible acceder a cualquier elemento de la lista desde cualquier punto dado. Las operaciones
LISTAS 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»
Tema 04: TAD Lista. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 04: TAD Lista M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido TAD Lista Descripción del TAD Lista
13. LISTAS Introducción Listas con punto de interés
Ricardo Ferrís / Jesús Albert Algoritmos y Estructuras de Datos I 13. LISTAS 13.1. INTRODUCCIÓN...59 13.2. LISTAS CON PUNTO DE INTERÉS...59 13.3. IMPLEMENTACIÓN DE LA CLASE LISTA EN C++...63 13.3.1 Implementación
Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño
Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos
Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros
Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros Especificación de TAD s. TAD Pila de Enteros. desapilar 2 7 3 5 apilar Cima de la Pila Cima de la Pila Definición: Estructura de Datos que
ELO320 Estructuras de Datos y Algoritmos. Listas. Tomás Arredondo Vidal
ELO320 Estructuras de Datos y Algoritmos Listas Tomás Arredondo Vidal Este material está basado en: Robert Sedgewick, "Algorithms in C", (third edition), Addison-Wesley, ISBN 0-201-31663-3. 2001 material
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.
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
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
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
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
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
12. 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:
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
Programación II Árboles binarios de búsqueda (ABB)
Programación II Árboles binarios de búsqueda (ABB) Definición Un árbol binario de búsqueda(abb) a es una estructura de datos de tipo árbol binario en el que para todos sus nodos, el hijo izquierdo, si
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.
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
Tema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas
Tema 9 Algoritmos sobre listas Programación 2015-2016 Programación - Tema 9: Algoritmos sobre listas 1 Tema 9. Algoritmos sobre listas Algoritmos sobre Arrays. Búsqueda. Inserción. Ordenación. Programación
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
Clases abstractas e interfaces en Java
Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura
Soluciones. boolean pruebaiteraseriegeometrica () { Serie s= new SerieGeometrica (1, 2); return (s.iterator() instanceof IteraSerieGeometrica); }
dit UPM Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Laboratorio de Programación 19 de Junio de 2002 Soluciones EJERCICIO 1 (UNA PÁGINA: UNA HOJA POR
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
Ejercicios resueltos de programación
Ejercicios resueltos de programación Mariano Fernández López Escuela Politécnica Superior, Universidad San Pablo CEU 18 de marzo de 2015 Índice general 1. Implementación de un método recursivo 2 1.1. Enunciado.............................
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
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
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,
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
ESTRUCTURAS DE DATOS LISTAS 93
ESTRUCTURAS DE DATOS LISTAS 93 TEMA 3 Listas. 3.1. CONCEPTOS GENERALES. Una lista es una estructura de datos lineal que se puede representar simbólicamente como un conjunto de nodos enlazados entre sí.
Soluciones Ejercicios Tema 3
1 Soluciones Ejercicios Tema 3 Germán Moltó [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Solución Ejercicio
Programació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
4. Pilas ESTRUCTURAS DE DATOS 1
4. Pilas Una Pila es una colección de elementos homogéneos dispuestos en orden tal que se recuperan en orden inverso a como se introdujeron. La extracción e inserción de elementos en la Pila se realiza
TAD 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
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 [email protected] Actualización: 11
Biblioteca 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
Árbol ABB equilibrado. Lección: Árboles. Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58
Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58 Índice 1 Árbol de búsqueda 2 2/ 58 Índice Árbol de búsqueda 1 Árbol de búsqueda 2 3/ 58 Árbol de búsqueda Es
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
Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común
TEMA 4 El tipo conjunto
TEMA El tipo conjunto PROGRAMACIÓN Y ESTRUCTURAS DE DATOS Tipo conjunto. Definiciones generales. Diccionario.. Tabla de dispersión.. Trie.. Árboles de búsqueda digitales. Cola de prioridad.. Montículo..
11. 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...
