La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

M.C. Meliza Contreras González

Presentaciones similares


Presentación del tema: "M.C. Meliza Contreras González"— Transcripción de la presentación:

1 M.C. Meliza Contreras González
LISTAS M.C. Meliza Contreras González

2 ESTRUCTURAS DE DATOS: ESTÁTICAS Y DINÁMICAS
Para implementar alguna estructura de datos, primero es necesario tener muy claro cómo va a ser el manejo de memoria. La diferencia entre estructuras estáticas y dinámicas es el manejo de memoria. Estática Durante la ejecución del programa el tamaño de la estructura no cambia Dinámica Durante la ejecución del programa el tamaño de la estructura puede cambiar

3 MEMORIA DINÁMICA: CONCEPTOS DE LISTAS
Una lista es una colección de elementos, generalmente, llamados nodos. En lugar de índices de arreglo aquí se emplean punteros para agrupar linealmente los elementos. En una lista doblemente enlazada cada elemento contiene dos punteros (next, prev). Next apunta al elemento sucesor y prev apunta la predecesor. En general un nodo tiene 2 partes: Un campo de info que será del tipo de datos que se quiera almacenar en la lista. Un campo de tipo apuntador que se utiliza para establecer un enlace con otro nodo de la lista. Si es el ultimo nodo su valor es null. Ya no es necesario que los nodos se guarden en forma contigua. ptrcont 5 . 7 null

4 MEMORIA DINÁMICA: OPERACIONES CON LISTAS
Crear: Define el primer elemento de la lista. Insertar: Que coloca nuevos nodos al principio o al final del nodo dado. Recorrer: Que “visita” o “atiende” todos o algunos de los nodos de la lista bajo un criterio dado. Eliminar: Que borra un nodo dado. Se puede eliminar el 1º nodo, el ultimo, el que tenga un info x o el anterior o posterior al que tenga una info x.

5 MEMORIA DINÁMICA: TIPOS DE LISTAS
Simplemente Encadenada Circular ptrcont 5 . 7 null ptrcont 5 . 7 Circular Doblemente Encadenada Doblemente Encadenada ptrcont 7 . 5 ptrcont 7 . null 5

6 LISTAS Una lista es una colección lineal de elementos llamados nodos donde el orden de los mismos se establece mediante punteros o referencias y existe un puntero/referencia especial llamado inicio para localizar al primer elemento. Ejemplos: inicio *Lista enlazada de 0 elementos Información enlace inicio * Lista enlazada de 4 elementos

7 Listas Lista enlazada es una secuencia de nodos que se interconectan mediante sus campos de enlace. El número de elementos no suele estar fijado, ni suele estar limitado por anticipado. Los elementos se almacenan de forma no contigua, en vez de un vector de posiciones consecutivas. Esta estructura implica cuatro conceptos: clase auto-referenciada, nodo, campo de enlace y enlace.

8 Listas Clase auto-referenciada: una clase con al menos un campo cuyo tipo de referencia es el nombre de la clase nodo: un objeto creado desde una clase auto- referenciada campo de enlace: campo cuyo tipo de referencia es el nombre de la clase. enlace: la referencia a un campo de enlace.

9 Operaciones de Lista estaVacia(): devuelve verdadero si la lista esta vacía, falso en caso contrario. insertar(x, k): inserta el elemento x en la k-ésima posición de la lista. buscar(x): devuelve la posición en la lista del elemento x. buscarK(k): devuelve el k-ésimo elemento de la lista. eliminar(x): elimina de la lista el elemento x.


Descargar ppt "M.C. Meliza Contreras González"

Presentaciones similares


Anuncios Google