Clasificación de los TDA

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Definición Las colas ofrecen dos operaciones fundamentales, que son encolar (al final de la cola) y desencolar (del comienzo de la cola). Al igual que.
IBD Clase 7.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
SOLUCIÓN DE PROBLEMAS Problema Solución A B S T R C I Ó N C O N R E I
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Ayudantia Programación Python #5
Tipo de Dato Abstracto Tipos de datos:
PROGRAMACION DE Pilas o Stacks y Colas
PROGRAMACION DE ESTRUCTURAS DE DATOS
Teoría de lenguajes y compiladores
Arreglos Ing. Nahiby Castillo.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Marzo 2007 Lenguajes Visuales Clase III.
Estructuras de datos M.I.A Daniel Alejandro García López.
Tecnología de la Programación Javier Nieves Acedo Standar Template Library (STL)
Colas y Listas Enlazadas
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Listas circulares.
Temas importantes para el desarrollo de la segunda parte del TPE
PILAS, COLAS, RECURSIVIDAD.
7.  El TDA Diccionario.
Vectors (Vectores) Agustin J. González ELO329. Contenidos Qué es un vector? Declaración de Objetos Vectores Inserción y eliminación de items Uso de sub-índices.
ESTRUCTURA DE DATOS EN JAVA
Clase 10: Estructuras de datos y arreglos.
Métodos de búsqueda Unidad 6.
Tablas de Hash.
Arboles M.C. José Andrés Vázquez FCC/BUAP
Programación IMC José Andrés Vázquez Flores. Definición Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un.
1 Estructuras de Datos Elementales:stacks (pilas), queues (colas), linked lists (listas enlazadas), y rooted trees (árboles con raíz) Agustín J. González.
ELO3201 Contenedores Biblioteca Estándar de Templates Agustín J. González ELO320 Contenido Contenedores: Vector, List, Deque, Stack, Queue, Priority Queue,
Material de apoyo Unidad 4 Estructura de datos
Aplicación de estructuras de datos
Tema II Estructuras de datos en Java Temas Selectos de Cómputo Grupo 912 Agosto-Diciembre 2005.
Capítulo 7 Gestión de memoria.
Laboratorio Análisis y Diseño de Algoritmos 2 Biblioteca estándar de templates de C++ Standard Template Library (STL)‏ Motivación Ejemplo: Lista + Iterador.
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
SIG. LAURA VELAZQUEZ MORELOS. Hace referencia a un refrán que implica resolver un problema difícil, dividiéndolo en partes más simples tantas veces como.
Son estructuras de datos que almacenan y recuperan sus elementos atendiendo a un estricto orden (LIFO Last – in, first –out Ultimo en entrar – primero.
1 Estructuras de Datos en Java M.C. Juan Carlos Olivares Rojas.
INSTITUTO TECNOLOGICO DE APIZACO
Ecuaciones diferenciales
Teoría de lenguajes y compiladores
Modos de direccionamiento
A YUDANTÍA 5: A RBOLES Carlos Pulgar R. Mail: Página Ayudantía:
IMPLEMENTACION DE COLAS MEDIANTE LISTAS
Conceptos. -Programación orientada a eventos. -Instancias de clase. -Atributo de los objetos. -Método main, get y set. -Ejemplo de la declaración de.
Introducción a los TADs
Estructura de Datos..
Computación I. CI-2125 Tema VII
PROGRAMACION DE Pilas o Stacks
MIA - Grupo 5 Unidad 2.

M.C. Meliza Contreras González
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
Laboratorio de programación
Conalep 104.  La biblioteca estandar en C++ proporciona una plantilla llamada MAP definidas en el espacio de nombres std y declarada en el fichero.
PROGRAMACION DE Pilas o Stacks y Colas
PUNTEROS. Los punteros son de amplia utilización en programación y muchos lenguajes permiten la manipulación directa o indirecta de los mismos. Su razón.
ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
Listas Dinámicas.
Dado que una colección esta gestionada por una clase dentro del lenguaje que estamos utilizando, y en cierta forma no se tiene un control total.
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
GENERICIDAD Es una propiedad que permite definir una clase o función sin especificar el tipo de datos de uno o mas de sus parámetros (Módulos Parametrizados).
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Contenedores de la STL y Adaptadores de Contenedores
Transcripción de la presentación:

Clasificación de los TDA simples: son aquellos que cambian su valor pero no su estructura (el espacio de almacenamiento es constante) contenedores: son aquellos que cambian su valor y estructura (son conjuntos o colecciones de elementos de número variable) Un contenedor es polimórfico si puede almacenar instancias de tipos de datos diferentes.

Contenedores secuenciales Organizan los datos en orden lineal. A cada elemento del contenedor se le asocia la posición que ocupa en el mismo. Los principales contenedores secuenciales son : Vector dinámico (vector) Lista (list) Pila (stack) Cola (queue)

Contenedores asociativos Permiten gestionar los datos mediante claves que los identifican posibilitando la recuperación eficiente a partir de las mismas. Los principales son: Conjunto (set) Bolsa (multiset) Diccionario (map)

Contenedores parametrizables: Parametrizacion: técnica de programación para producir productos de programación de alta calidad. Un contenedor parametrizado puede almacenar cualquier tipo de elemento, y no sólo de un tipo en particular. Para que la cohesión entre el contenedor y su elemento contenido sea lo más baja posible, el ‘enlace’ entre ambos debe hacerse únicamente a través de las operaciones básicas del tipo base, o TDA elemental.

Utilización de referencias en la parametrización de contenedores: El uso de referencias o punteros a los objetos almacenados, en lugar de copiar el elemento en el contenedor, aumenta las posibilidades de compartir código objeto De esta forma, el contenedor básicamente manipula los enlaces a los objetos. En C++ suele utilizarse el concepto de plantillas ‘template’.

Tipos de métodos u operaciones comunes de los contenedores Examinadores: sirven para saber si el contenedor está vacío o lleno (Empty() y Full()).Nunca alteran el valor del contenedor. Enumeradores: para averiguar cuántos elementos están almacenados en el contenedor, o en alguna de sus (Count())

Operaciones comunes de los contenedores (continuación) Posicionadores: permiten ‘moverse’ hasta una determinada posición del contenedor.(por ejemplo, First(), Last(), etc). Dentro de los posicionadores se pueden diferenciar: Recorredores: para examinar uno a uno los objetos del contenedor, y para moverse dentro del TDA. (Next(), Prev(), Father(), Child(), etc.). Localizadores: sirven para encontrar un elemento dentro del contenedor (Locate(), Find() ).

Operaciones comunes de los contenedores (continuación) Accesadores o iteradores: guían el recorrido de la estructura dentro del TDA. Sirven para recorrer en un orden predefinido los elementos que están almacenados en un contenedor. Este orden debe ser especificado de forma precisa. Insertadores: permiten agregar un nuevo objeto al contenedor. Por lo general requieren que se indique dónde se realizará la inserción( Insert() suele ser un nombre genérico, para cada TDA en particular puede variar) Borradores: permiten eliminar objetos del contenedor(Delete()). Generalmente se indica en qué posición se realizará el borrado.

En el paradigma imperativo la ecuación fundamental es Algoritmos + Datos = Programas Los programas se obtienen mediante algoritmos que operan sobre datos para obtener otros datos finales Esto supone una división entre algoritmo = parte del programa que lleva el control de ejecución, datos = parte de almacenamiento de información Pero Hay una fuerte relación entre la parte algorítmica y las estructuras de datos utilizadas Los algoritmos son diferentes cuando las estructuras de datos son distintas

Fin Clase-Contenedores.ppt