La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructuras de Datos Dinámicas

Presentaciones similares


Presentación del tema: "Estructuras de Datos Dinámicas"— Transcripción de la presentación:

1 Estructuras de Datos Dinámicas
MC Beatriz Beltrán Martínez Primavera 2018

2 Memoria dinámica La mayoría de los lenguajes de programación permiten manejar dos tipos de almacenamiento de datos: Memoria estática: Que es la que se maneja tradicionalmente, cuyas características son: Se define explícitamente al declarar una variable, ya sea global o local. El compilador genera automáticamente el espacio de memoria. Se mantiene fija durante toda la vida de la variable. FCC-BUAP Primavera 2018 MC Beatriz Beltrán Martínez

3 Memoria dinámica Memoria dinámica: Que permite crear o destruir espacios de memoria, según indicaciones del programador durante la ejecución del programa, y cuyas características son: Utiliza una parte de la memoria principal denominada heap. Apoya el uso eficiente de la memoria durante la ejecución. Requiere de apuntadores que almacenen direcciones de memoria real. FCC-BUAP Primavera 2018 MC Beatriz Beltrán Martínez

4 Memoria dinámica Para reservar memoria se hace uso en lenguaje C de malloc y free. Para reservar memoria se hace uso en lenguaje C++ de new y delete. Cada vez que se este reservando memoria esta debe ser liberada antes de salir del programa. Se debe tener cuidado de no perder los apuntadores. FCC-BUAP Primavera 2018 MC Beatriz Beltrán Martínez

5 Listas Ligadas Una lista ligada es 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 FCC-BUAP Primavera 2018 MC Beatriz Beltrán Martínez

6 Listas Ligadas Para manejar una lista es necesario contar con un apuntador al primer elemento de la lista denominado "cabeza". En una lista ligada se pueden realizar básicamente 4 operaciones: Recorrer: Moverse sobre los elementos de la lista, partiendo del inicio y llegando al final. Insertar: Añadir elementos a la lista. Eliminar: Quitar elementos de la lista. Buscar: Verificar la existencia de un elemento dado dentro de la lista. FCC-BUAP Primavera 2018 MC Beatriz Beltrán Martínez

7 Listas Ligadas Se usará Crea_nodo(P) para indicar la asignación de memoria dinámica que es apuntada por P, esto es: Para referirse a datos almacenados se utiliza la notación: P^.info P^.sig FCC-BUAP Primavera 2018 P info sig MC Beatriz Beltrán Martínez

8 Listas Ligadas Para indicar que el apuntador sig anota a nulo (nada) se utiliza: Y se denota por: P^.sig  NULO FCC-BUAP Primavera 2018 P info sig MC Beatriz Beltrán Martínez

9 Lista Ligada Simple - Insertar
Al inicio la cabeza = NULO. Se inserta el primer dato, con lo cual: Ahora si se inserta otro dato, si este es menor, quedaría: FCC-BUAP Primavera 2018 P 20 Cabeza MC Beatriz Beltrán Martínez P Cabeza 7 20 Cabeza

10 Insertar Si el dato es mayor que todos los datos en la lista, queda:
Finalmente el caso más general, es insertar entre dos elementos de la lista, siendo este dato mayor al elemento que esté a la izquierda y menor que el dato que esté a la derecha. FCC-BUAP Primavera 2018 Cabeza P 7 20 35 MC Beatriz Beltrán Martínez

11 Insertar Quedando así: Cabeza 7 20 35 P 29 FCC-BUAP Primavera 2018
MC Beatriz Beltrán Martínez P 29

12 Lista Ligada Simple - Eliminar
Si la cabeza = NULO, entonces marcar error. Si la cabeza es el elemento a eliminar, el siguiente elemento ahora será la cabeza: FCC-BUAP Primavera 2018 Cabeza Cabeza 7 20 29 MC Beatriz Beltrán Martínez P 35

13 Eliminar Cuando el elemento a eliminar esta en medio de la lista, quedaría: O bien, si es el último elemento en la lista: FCC-BUAP Primavera 2018 Cabeza 20 29 35 P MC Beatriz Beltrán Martínez Cabeza 20 29 35


Descargar ppt "Estructuras de Datos Dinámicas"

Presentaciones similares


Anuncios Google