Prof. Ing. Óscar Villarevia Rivera, MBA. presentación de
Módulo 2: Administración Eficiente de la Memoria
Ing. Óscar Villarevia Rivera, MBA.
1
PRINCIPIOS DE ESTRUCTURAS DE DATOS
Ing. Óscar Villarevia Rivera, MBA.
2
Definición de Estructura de Datos:
En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema.
Ing. Óscar Villarevia Rivera, MBA.
3
Estructuras de datos:
Una estructura de datos define la organización e interrelación de estos y
un conjunto de operaciones que se pueden realizar sobre ellos.
Ing. Óscar Villarevia Rivera, MBA.
4
Operaciones que se pueden realizar: Alta, adicionar un nuevo valor a la estructura. Baja, borrar un valor de la estructura. Búsqueda, encontrar un determinado valor en la estructura.
Ing. Óscar Villarevia Rivera, MBA.
5
3.4. CLASES AUTOREFERENCIADAS
Ing. Óscar Villarevia Rivera, MBA.
6
Clases autoreferenciadas
Un conjunto de objetos del mismo tipo, están relacionadas entre sí mediante punteros contenidos en ellos mismos
Ing. Óscar Villarevia Rivera, MBA.
7
3.5. ASIGNACIÓN DE MEMORIA DINÁMICA
Ing. Óscar Villarevia Rivera, MBA.
8
Asignación de memoria
La asignación de memoria consiste en el proceso de asignar memoria para propósitos específicos, ya sea en tiempo de compilación o de ejecución.
Ing. Óscar Villarevia Rivera, MBA.
9
3.6. LISTAS ENLAZADAS SIMPLES
Ing. Óscar Villarevia Rivera, MBA.
10
Definición de lista:
Es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos.
Ing. Óscar Villarevia Rivera, MBA.
11
Definición de lista:
•
Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias, enlaces o punteros al nodo anterior o posterior.
Ing. Óscar Villarevia Rivera, MBA.
12
3.7. PILAS Y COLAS
Ing. Óscar Villarevia Rivera, MBA.
13
Pilas
•
•
Una pila (stack en inglés) es una lista ordenada o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura.
Ing. Óscar Villarevia Rivera, MBA.
14
Manejo de pilas
Para el manejo de los datos se cuenta con dos operaciones básicas: apilar ( push), que coloca un objeto en la pila
Y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado.
Ing. Óscar Villarevia Rivera, MBA.
15
Colas
•
•
La particularidad de una estructura de datos de cola es el hecho de que sólo podemos acceder al primer y al último elemento de la estructura. Así mismo, los elementos sólo se pueden eliminar por el principio y sólo se pueden añadir por el final de la cola.
Ing. Óscar Villarevia Rivera, MBA.
16
Usos concretos de la cola
•
•
Ejemplos de colas en la vida real serían: personas comprando en un supermercado, esperando para entrar a ver un partido de futbol, esperando en el cine para ver una película, una pequeña peluquería, etc. La idea esencial es que son todos líneas de espera.
Ing. Óscar Villarevia Rivera, MBA.
17
Operaciones Básica
Crear : se crea la cola vacía.
Encolar : (añadir, entrar, insertar): se añade un elemento a la cola. Se añade al final de esta.
Desencolar : (sacar, salir, eliminar): se elimina el elemento frontal de la cola, es decir, el primer elemento que entró.
Frente: (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primer elemento que entró.
Ing. Óscar Villarevia Rivera, MBA.
18
Prof. Ing. Óscar Villarevia Rivera, MBA. presentación de
Módulo 2: Administración Eficiente de la Memoria
Ing. Óscar Villarevia Rivera, MBA.
19