Laboratorio de programación

Slides:



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

PILA.
ESTRUCTURA DE DATOS Unidad 03 PILAS.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
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.
Estructuras de datos y algoritmos
Tema 4 Árboles. Conceptos Generales..
Implementación de listas
Listas. Conceptos Generales..
PROGRAMACION DE Pilas o Stacks y Colas
PROGRAMACION DE ESTRUCTURAS DE DATOS
Algoritmos Aleatorizados
Teoría de lenguajes y compiladores
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
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.
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
Estructuras dinámicas de datos, TAD Lista, parte 2
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Listas circulares.
AED I. Estructuras de Datos.
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Heaps Mauro Maldonado Abril/2005. Introducción La estructura heap es frecuentemente usada para implementar colas de prioridad. En este tipo de colas,
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
7.  El TDA Diccionario.
Tablas de Hash.
Listas enlazadas.
ARBOLES ESTRUCTURAS DE DATOS.
Estructuras de Datos Dinámicas: Listas Programación I Departamento de Informática Universidad Nacional de San Luis Argentina 2014.
Administración de Memoria
Aplicación de estructuras de datos
Árboles Recomendado: 1. Nivelación Funciones
Árboles Binarios Estructuras de Datos.
LISTA DOBLEMENTE ENLAZADA
Capítulo 7 Gestión de memoria.
Dinamismo y Contenedores Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires (C++ Avanzado) Depto. de Computación Algoritmos y Estructuras.
Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Yohan Docente: Lic. Israel Torrez Valverde Tema: Listas doblemente Enlazadas.
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
Multiplicación de matrices
Punteros Recomendado: 1. Nivelación Funciones
INSTITUTO TECNOLOGICO DE APIZACO
Algoritmos y Estructuras de datos Listas Doblemente enlazadas
Teoría de lenguajes y compiladores
Algoritmos y estructura de datos en I.O.
Ayudantia 3: Pilas- Colas
 Introducción  Conceptos El equipo demostrara y mostrara los conceptos, definición y funcionamiento de una las “listas doblemente enlazadas y circulares”
Árboles Binarios de Búsqueda (ABB)
R ECORRIDO DE ÁRBOLES BINARIOS POR AMPLITUD O POR NIVELES Elaborado por: Luis Alberto Fonseca Esquivel Eduardo Acosta Casillas.
IMPLEMENTACION DE COLAS MEDIANTE LISTAS
Lic. En C.C. Ann Margareth Meza Rodríguez
Estructura de Datos..
PROGRAMACION DE Pilas o Stacks
Laboratorio de programación
M.C. Meliza Contreras González
Laboratorio de programación Luisa Fernanda Rincón Pérez
ESTRUCTURAS LINEALES “LA PILA”
Laboratorio de programación Luisa Fernanda Rincón Pérez
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.
Listas Dinámicas.
ARREGLOS Por: Astaroth.  En la clase anterior vimos que c++, es un mundo de cajas, bien hoy hablaremos de una caja un tanto particular “vagoncin” el.
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.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
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:

Laboratorio de programación Luisa Fernanda Rincón Pérez 2015-2

Sesión 16.TAD lista

¿Qué vimos la clase pasada? Memoria dinámica con arreglos Memoria dinámica con matrices

Anuncios La próxima semana no tenemos clase. La entrega de la segunda parte del taller es el domingo 20 de septiembre 11:55 pm La entrega del tercer taller es el miércoles 30 de septiembre 11: 55 pm

Listas enlazadas sencillas ¿Qué haremos hoy? Listas enlazadas sencillas Insertar nodo cabeza Insertar nodo cola Imprimir nodo Eliminar nodo

Listas enlazadas

Contexto ¿Cómo guardar información cuándo no se sabe con anticipación cuántos elementos se requieren? Listas enlazadas

¿Qué saben ustedes de las listas enlazadas?

¿Cuáles son las características de las listas enlazadas sencillas? Enlazan contenido dinámicamente Se implementan con apuntadores Tienen un apuntador “importante” que es el apuntador al inicio de la lista Se debe recorrer la lista linealmente únicamente de izquierda a derecha ( inicio de la lista hasta el final)

¿Cuáles son las características de las listas enlazadas sencillas? No es posible regresar al elemento anterior Cada nodo se puede construir cuando se necesite y se puede insertar en el lugar que se desee Se almacenan en cualquier parte de la memoria, por lo que no se requieren segmentos de memoria contiguos

¿De qué esta compuesta una lista sencilla? Nodos enlazados entre sí Último nodo apunta a NULL Fuente: Informática Básica con Énfasis en C. Eduardo Villegas.2000

¿Cómo se representa una lista en C? Estructuras Creadas dinámicamente Definición recursiva Siguiente elemento es otra estructura del mismo tipo Apuntadores

¿Cómo se inserta un nodo al inicio de la lista? Fuente: Informática Básica con Énfasis en C. Eduardo Villegas.2000

¿Cuál es el proceso para insertar al inicio? -- Codificación

¿Cómo se recorre una lista?

¿Cómo se recorre una lista? Del inicio al fin: apuntador en la cabeza, luego apuntador auxiliar que inicia en la cabeza y se mueve hasta llegar al final de la lista, es decir apuntador auxiliar apunta a NULL

¿Cómo se recorre una lista? Implementar la operación de contar nodos

¿Cómo se insertar un nodo al final de una lista? Revisar que la lista no este vacía. Si está vacía insertar el nuevo nodo Avanzar hasta antes del final para insertar allí el nuevo nodo

¿Cómo se insertar un nodo al final de una lista?. Opción 1

¿Cómo se insertar un nodo al final de una lista?. Opción 2 pNuevoNodo pNuevoNodo pNodoAux pNuevoNodo pNodoAux 2 Fuente: Informática Básica con Énfasis en C. Eduardo Villegas.2000

¿Cómo se vería en código-extracto? 1 2

Eliminar un nodo de la lista ( eliminar cabeza) Eliminar la cabeza Eliminar un nodo de la lista ( eliminar cabeza)

Eliminar un nodo de la lista ( diferente cabeza) No se encontró el valor a eliminar: Aux en la posición siguiente es NULL

Eliminar un nodo de la lista ( diferente cabeza) Si se encontró el valor a eliminar: Temporal que guarde el auxiliar en la posición siguiente, así temporal tendría la dirección del valor a eliminar. Se modifica el apuntador del siguiente del auxiliar para que sea igual al siguiente del nodo temporal. Reencadenar la lista.

Eliminar un nodo de la lista ( diferente cabeza) Se libera la memoria del nodo a liberar