Listas Listas Lista Lineal y Lista No Lineal Lista Abierta y Lista

Anuncio
Listas
Estructura de Datos
Listas
•
•
•
Las listas se han utilizado desde los inicios del procesamiento de información.
Es importante aclarar que además de su uso en diferentes aplicaciones, algunas
estructuras de datos que están predefinidas en lenguajes de programación se comportan
como listas.
o Es el caso de de las hileras o cadenas de caracteres.
o Archivos secuenciales.
o Los arreglos.
Las listas pueden clasificarse por diferentes aspectos como:
o Conformación
o Forma de almacenamiento
o Forma de acceso
Lista Lineal y Lista No Lineal
•
•
Una lista lineal, es aquella en la que cualquiera de sus nodos tiene un único inmediato
sucesor y un único inmediato antecesor, excepto el primer nodo de la lista (que no tiene
antecesor) y el último (que carece de sucesor).
Una lista no lineal, es aquella en la que cualquier nodo tiene más de un antecesor o más
de un sucesor.
Lista Abierta y Lista Cerrada
•
•
Las listas abiertas son aquellas en las que el ultimo nodo no tiene sucesor, por lo general
se cuenta con un indicador que determina el final de la lista.
Las listas cerradas son aquellas en las que el ultimo nodo se enlaza al primero, creando
una lista circular.
Listas almacenadas en secuencia
•
•
Estas listas se caracterizan porque la posición de almacenamiento de cualquier nodo
“k+1” es igual a la posición del nodo “k” más la longitud del nodo “k”, lo que implica un
espacio de almacenamiento continuo para la lista.
A estas, se les denomina como “listas secuenciales”.
Listas encadenadas
•
•
•
En esta, los nodos se encuentran dispersos en el medio de almacenamiento, pero cada
uno de ellos contiene un apuntador (pointer), que almacena la dirección del siguiente nodo.
La lista contiene una cabeza o punto de entrada, que puede ser el primer nodo
perteneciente a la lista. (En algunos casos, se inserta un nodo adicional denominado
“guía”.)
Por lo tanto, es importante almacenar la dirección del nodo de entrada a la lista para
acceder a ella.
Lista de acceso restringido
•
•
•
Esta clase de listas se caracteriza porque no se puede tener acceso sino a los nodos que
se encuentren en los extremos de las mismas.
Estas tienen un uso muy frecuente.
Estas pueden ser secuenciales o encadenadas, y se conocen como “pila”, “cola” y
“doble cola”.
ISC Gregorio García Estrada
Listas
Estructura de Datos
Operaciones con listas
•
•
En las listas se pueden efectuar operaciones, que por lo regular se implementan por medio
de algoritmos, dependiendo del tipo de lista y su aplicación.
Algunas de esas funciones pueden ser:
o Agregar un nodo a la lista.
o Eliminar un nodo de la lista.
o Recorrer la lista.
o Cambiar el contenido de un nodo.
o Determinar el número de nodos de la lista.
o Buscar un nodo con determinada información.
o Copiar una lista.
o Ordenar los nodos de acuerdo con el contenido de un campo.
o Unir varias listas.
o Partir la lista en varias sublistas.
Lista de pila almacenada en secuencia
•
•
•
•
•
•
Es una lista lineal que se almacena en una serie sucesiva, continua, de celdas.
En esta solo se tiene acceso a un extremo de la lista, por lo tanto la consulta, las
inserciones y eliminaciones se llevan a cabo sólo por ese extremo.
Por este comportamiento recibe el nombre de una lista de tipo “LIFO” (Last In First Out)
o Esto significa que el último elemento en entrar, es el primero en salir.
o También se denomina lista de “Stack”.
Esta requiere de un solo “apuntador”. Este indica a que elemento tiene acceso.
Algunas de las aplicaciones que utilizan este tipo pueden ser:
o Algunos sistemas de consulta.
o Algunos sistemas de control de inventario.
o Computadoras de tipo pila.
o La memoria humana.
Se pueden realizar estas operaciones básicas:
o Inserción de elementos: PUSH
o Eliminación de elementos: POP
o Consulta del elemento que se encuentra en el tope: TOP
ISC Gregorio García Estrada
Descargar