Estructuras de Datos Dinámicas: Listas Programación I Departamento de Informática Universidad Nacional de San Luis Argentina 2014.

Slides:



Advertisements
Presentaciones similares
Estructuras de decisión en C
Advertisements

TDA LISTA ESTRUCTURAS DE DATOS.
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Listas enlazadas c++ Prof. Franklin Cedeño.
Tipos de Datos Abstractos (III) Clase #23 Introducción a la Programación.
Estructuras de datos y algoritmos
Programación I Teoría III
Programación, Algoritmos y Estructuras de Datos
Tipos de Datos Básicos y Estructurados
Punteros Universidad Nacional Mayor de San Marcos
9A9A9A9A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.
INFORMATICA I Funciones CLASE 13.
Tema 1. Introducción a la programación (Lenguaje java).
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Introducción al lenguaje C++
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Programación I Teoría VI: Recursividad
Cont. Arbol Binario de Búsqueda (2). Sobre los recorridos Las versiones recursivas de los recorridos son costosas debido a la gran cantidad de llamadas.
Estructuras dinámicas de datos, TAD Lista, parte 2
Listas circulares.
Semana 5 Subprogramas..
ÁRBOLES BINARIOS DE BÚSQUEDA
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
Unidad III Elementos del lenguaje C++
POR: Meza Guevara Sandra Fabiola Contreras Meléndez Damariz Figueroa Cisneros Ricardo UNIVERSIDAD TECNOLÓGICA DE DURANGO TECNOLÓGIAS DE LA INFORMACIÓN.
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
7.  El TDA Diccionario.
Archivos.
Estructuras.
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Estructura de Datos y Algoritmos
Capítulo 1 “Elementos de Programación”
Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -11-
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Pilas y Colas Estructuras de Datos.
LISTA DOBLEMENTE ENLAZADA
Dinamismo y Contenedores Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires (C++ Avanzado) Depto. de Computación Algoritmos y Estructuras.
Estructuras de Control.
Herencia y tipos ● Cuanta memoria se debe asignar a un objeto cuando se asigna en la pila ● La asignación debe hacerse antes de que se conozca la cantida.
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.
Programación en C para electrónicos
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.
Diseño de Algoritmos. Curso J.L. Leiva O. TEMA3TEMA3 TEMA3TEMA3 Estructuras Dinámicas Contenido del Tema Profesor: José Luis Leiva Olivencia. Despacho:
APUNTADORES.
Arboles B (búsqueda externa)
Los punteros Programación modular.
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
INSTITUTO TECNOLOGICO DE APIZACO
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.
PRINCIPIOS DE PROGRAMACIÓN
LENGUAJE “C” Programación.
Ayudantia 3: Pilas- Colas
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
int cantidad, horas, cuota; float precio, peso; cantidad = 5; // Le asigno un número a la variable Cantidad; horas = // Le asigno 30 a la variable.
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
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
ESTRUCTURAS LINEALES “LA PILA”
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.
Listas Dinámicas.
UNIDAD 8 Lista Enlazada: Eliminar Deseamos eliminar un elemento llamado elem de la lista enlazada. Es posible que la variable ini sea modificada. main(){
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.
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: LISTAS.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Transcripción de la presentación:

Estructuras de Datos Dinámicas: Listas Programación I Departamento de Informática Universidad Nacional de San Luis Argentina 2014

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 2 Repaso (1) Nociones Generales –Agrupación de valores que por razones lógicas, se quiere conservar ‘juntos’. –Cómo se incorpora un nuevo elemento a la estructura. –Cómo se elimina o cambia un elemento que ya está en la estructura. –Cómo se busca un elemento, que ya está en la estructura, ya sea para conocerlo o inspeccionarlo, para eliminarlo de la estructura o para buscarle un lugar a uno nuevo.

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 3 Repaso (2) Estos tres últimos aspectos tienen que ver con las operaciones que pueden hacerse sobre la estructura de datos: Poner, Sacar, Inspeccionar. Orden, con respecto a las operaciones: Cronológico, No Cronológico. –Cómo se guardan los elementos en la estructura, es decir en qué orden se encuentran unos con respecto a los otros. Deben tener algún orden o estructura.

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 4 Repaso (3) Cuántos elementos se pueden guardar, capacidad de almacenamiento de la estructura: Estática / Dinámica. Identificar o seleccionar los elementos de la estructura: sin ambigüedad. Selector de la estructura, Unívoco. Explícito / Implícito. Tipo de los datos de los elementos de la estructura. A este tipo de dato le llamaremos tipo de dato base de la estructura. Simples / Compuestos. Homogéneo / Heterogéneo.

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 5 Estructuras de Datos Dinámicas: Listas (1) Capacidad: dinámica, crece y disminuye con las inserciones y supresiones Orden: No tiene orden cronológico de inserción o supresión. Secuencia. –unidireccional, 1º  último

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 6 Estructuras de Datos Dinámicas: Listas (2) Elementos de una lista unidireccional o secuencia, llamados nodos, constan de dos partes: Variable de Información Propiamente Dicha (VIPD) puntero al elemento (nodo) siguiente en la lista. último elemento, el puntero no apunta a un elemento y se dice que su valor es nil

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 7 Estructuras de Datos Dinámicas: Listas (3) Operaciones –Inserción –Supresión –Copia –Predicados: isEmpty, isFull.

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 8 Estructuras de Datos Dinámicas: Listas (4) Selector de la lista: implícito  cursor Operaciones sobre el cursor de la lista –Ir al primero: reset –Avanzar: forwards –Predicado: Fuera de la estructura (cursor = nil): isOos

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 9 Estructuras de Datos Dinámicas: Listas: Representación gráfica (4) Elemento i nil Cursor A vipd Puntero al siguiente Acceso a la lista

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 10 Cursor insert con lista vacía –isEmpty = true  isOos = true –isEmpty = false  isOos = false Z

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 11 Cursor insert con lista NO vacía –isEmpty = false  isOos = false G i i P G i + 1

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 12 Cursor insert con lista NO vacía –isEmpty = false  isOos = true –isEmpty = false  isOos = false 7 7 4

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 13 Cursor suppress con lista NO vacía –isEmpty = false  isOos = false i Y T i + 1 i T

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 14 Cursor suppress con lista NO vacía –isEmpty = false  isOos = false –isEmpty = false  isOos = true S D n n - 1 S n - 1

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 15 Cursor suppress con lista NO vacía –isEmpty = false  isOos = false –isEmpty = true  isOos = true R

#include “list_of_int.h”... /**** Imprime lista de enteros ****/ void printListaInt (list_of_int x) { reset(&x); while (!isOos(x)) { printf("%d ", copy(x)); forwards(&x); } printf("\n"); } /* fin de printListaInt */ Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas y TDA 16 Tipo de Datos Abstracto (TDA) (1) Ejemplo de uso (1)

#include “list_of_char.h”... /* ***** Buscar en lista de char ***** */ void buscaListaChar(list_of_char x, char y) { reset(&x); while (!isOos(x) && copy(x) != y) { forwards(&x); } if (!isOos(x)) printf(“%c esta en la lista\n”, y); else printf(“%c NO esta en la lista\n“, y); } /* fin de buscaListaChar */ Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas y TDA 17 Tipo de Datos Abstracto (TDA) (2) Ejemplo de uso (2)

#include “list_of_int.h”... /* ****** Copiar lista de int ****** */ void copiaListaInt (lista_of_int *x, lista_of_int y) { reset(&y); while (!isOos(y)) { insert(x, copy(y)); forwards(&y); } } /* fin de copiaListaInt */ Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas y TDA 18 Tipo de Datos Abstracto (TDA) (3) Ejemplo de uso (3)

Departamento de Unformática - UNSLProgramación I - Estrucutras Dinámicas 19 Fin … por suerte... ¿no? ;-)