Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.

Slides:



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

PILA.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
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
Estructura de Datos En C++
Programación y Estructuras de Datos
Clase 3: Punteros y Referencias
Programación I Teoría III
Estructuras de datos. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Básicos y Estructurados
Tema 1. Introducción a la programación (Lenguaje java).
Funcionamiento, programación
PROGRAMACION DE ESTRUCTURAS DE DATOS
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Implementación de Listas
Estructuras de Datos Punteros y algo más.
Unidad 3 Punteros.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Herramientas para el acceso directo a memoria en C++
Material de apoyo Unidad 2 Estructura de datos
Estructuras dinámicas de datos, TAD Lista, parte 2
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Tema 6: Clases Antonio J. Sierra.
Introducción a los punteros
Arreglos.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Índice. Revisando conceptos acerca de la memoria.
Estructuras.
Clase 10: Estructuras de datos y arreglos.
Descomposición Modular. Funciones
Listas enlazadas.
Unidad VI Registros (estructuras, uniones y enumeraciones)
Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -11-
PUNTEROS Ing Anghello Quintero.
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.
Informática Ingeniería en Electrónica y Automática Industrial
Archivos Programación I MC Beatriz Beltrán Martínez.
Dinamismo y Contenedores Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires (C++ Avanzado) Depto. de Computación Algoritmos y Estructuras.

TEORIA DE LA INFORMACION INGENIERO ANYELO QUINTERO.
Informática Ingeniería en Electrónica y Automática Industrial
Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Yohan Docente: Lic. Israel Torrez Valverde Tema: Listas doblemente Enlazadas.
Memoria estática versus dinámica con Estructuras
Programación en C para electrónicos
PUNTEROS Y REFERENCIAS
APUNTADORES.
Memoria dinámica con Estructuras. Memoria dinámica ¿Qué hacer cuando las variables declaradas son insuficientes o cuando no se conoce anticipadamente.
Punteros Recomendado: 1. Nivelación Funciones
Computación II Capitulo VII Punteros. Presentación de la unidad Objetivos: –Ser capaces de utilizar punteros. –Comprender las relaciones entre punteros,
INSTITUTO TECNOLOGICO DE APIZACO
Estructuras con punteros: Nodos y Listas. Un programa C.
Arreglos unidimensionales
PROGRAMACION DE Pilas o Stacks
PUNTEROS EN EL LENGUAJE C
Laboratorio de programación

M.C. Meliza Contreras González
Laboratorio de programación
PROGRAMACION DE Pilas o Stacks y Colas
MEMORIA DINÁMICA.
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.
Tema 1. Estructuras de datos Objetivo: Objetivo: El alumno resolverá problemas de almacenamiento, recuperación y ordenamiento de datos y las técnicas de.
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.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
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:

Listas Ligadas Simples

Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la organización no esta dada implícitamente por su posición en el arreglo.  En una lista ligada cada elemento es un nodo que contiene el dato y además una liga al siguiente dato. Estas ligas son simplemente variables que contienen la(s) dirección(es) de los datos contiguos o relacionados.  Se accede a una lista ligada a través de un apuntador al primer nodo de la lista.  Para acceder a los nodos subsecuentes, se lleva a cabo a través del miembro liga almacenado en cada nodo.  El apuntador liga del último nodo de una lista establece en NULL, lo cual marca el final.

Definición II  Una lista ligada es una colección de estructuras auto referenciadas, llamadas nodos, que se encuentran conectados por medio de ligas (apuntadores).  Las estructuras autoreferenciadas contienen un miembro apuntador, el cual apunta hacia una estructura del mismo tipo.  Por ejemplo: struct _nodo{ Int nodo; struct _nodo * ptrSiguiente; };

Definición III  El miembro ptrSiguiente se conoce como liga, por lo que puede usarse para unir una estructura de tipo struct _nodo con otra del mismo tipo struct _nodo.

Definición IV  Una lista ligada es adecuada, cuando el número de elementos a representar en la estructura de datos es impredecible.  Para crear una lista ligada se requiere de una asignación de memoria dinámica de memoria, esto quiere decir que un programa tiene la característica de obtener más espacio de memoria en tiempo de ejecución.  Esto nos sirve para almacenar nuevos nodos y liberar espacio que ya no necesario.  Las listas ligadas sólo se llenan cuando el sistema tiene suficiente memoria.

Definición V  Para la asignación de memoria dinámica utilizamos las funciones malloc, free y el operador sizeof.  Malloc toma como argumento el número de bytes que van a asignarse, devolviendo un apuntador de tipo void hacia la memoria asignada.  En el caso de que no pueda asignar la memoria devuelve un apuntador de tipo NULL.  Normalmente malloc se utiliza con sizeof.  Por ejemplo: ptrNuevo = malloc( sizeof( struct nodo ) );  Sizeof evalua a struc nodo para determinar el tamaño en bytes.  De este modo puede asignar una nueva área de memoria que coincida con el numero de bytes.  Finalmente almacena un apuntador a la memoria asignada a una variable.

Definición VI  La función free libera memoria.  Para liberar memoria dinámica asignada por malloc se utiliza la siguiente instrucción: free(elementoALiberar);

Funciones esenciales de una lista.  Las funciones primarias son insertar y eliminar.  La función vacía únicamente determina si hay o no elementos en una lista.  La función insertar recibe la dirección de la lista y un elemento a insertar.  La función eliminar recibe la dirección de la lista y un elemento a eliminar.