El documento describe diferentes tipos de listas en Java, incluyendo listas genéricas, listas simplemente enlazadas, listas doblemente enlazadas, listas circulares, listas circulares dobles, pilas LIFO, colas FIFO y sus operaciones de inserción y eliminación. Explica que las listas permiten almacenar múltiples tipos de datos y que las genéricas requieren especificar el tipo.
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
Listas de Java
1.
2.
3. Las listas son una estructura de datos sencilla de usar para
almacenar una gran variedad de datos, en Java la Clase List es la
que permite creas listas "Genéricas" para cualquier tipo de dato,
aunque trabajarlas como tales a sido una actividad que quedó
obsoleta por lo que es necesario indicicár los tipos de datos con
los que se trabajaran, Ej.
List listaTutiFruti=new ArrayList(); //Puede almacenar cualquier dato
List<String> nombres=new ArrayList<String>(); //Acepta datos de tipo
String
4. LISTA SIMPLEMENTE ENLAZADA: Recorrido simplemente despliega los datos almacenados en el arreglo
Info, con ayuda de un segundo arreglo llamado Índice el cual guarda el orden en el que encuentran
enlazados cada uno de los datos.
LISTAD DOBLEMENTE ENLAZADA: Las listas doblemente enlazadas son un tipo de lista lineal en la que
cada nodo tiene dos enlaces, uno que apunta al nodo siguiente, y el otro que apunta al nodo anterior.
Las listas doblemente enlazadas no requieren de un nodo explicito para acceder a ellas, ya que presentan
una gran ventaja comparada con las listas enlazadas y es que pueden recorrerse en ambos sentidos a partir
de cualquier nodo de la lista, ya que siempre es posible desde cualquier nodo alcanzar cualquier otro nodo
de la lista, hasta que se llega a uno de los extremos.
LISTAS CIRCULARES : Una lista circular es una lista lineal en la que el último nodo a punta al primero. Las
listas circulares evitan excepciones en la operaciones que se realicen sobre ellas. No existen casos
especiales, cada nodo siempre tiene uno anterior y uno siguiente. En algunas listas circulares se añade
un nodo especial de cabecera, de ese modo se evita la única excepción posible, la de que la lista esté vacía.
5. LISTAS CIRCULARES DOBLES: En las listas circulares doblemente enlazadas cada nodo tiene
un par de campos de enlace, uno al nodo siguiente, y otro al anterior. Un campo de enlace
permite atravesar la lista hacia adelante, mientras que el otro permite atravesar la lista hacia
atrás.
LISTAS LIFO (PILAS) Las pilas son estructuras de datos que tienes dos operaciones básicas:
push (para insertar un elemento) y pop (para extraer un elemento). Su característica
fundamental es que al extraer se obtiene siempre el último elemento que acaba de insertarse.
se conocen como estructuras de datos LIFO (del inglés Last In First Out).
LISTAS FIFO (COLAS): Las colas también son llamadas FIFO (First In First Out), que quiere decir
“el primero que entra es el primero que sale”. Se inserta por un sitio y se saca por otro, en
el caso de la cola simple se inserta por el final y se saca por el principio. Para gestionar este
tipo de cola hay que recordar siempre cual es el siguiente elemento que se va a leer y cual es
el último elemento que se ha introducido.
6. Insertar
La operación insertar consiste en la introducción de un nuevo elemento en la lista.
En una lista no ordenada no es necesario mantener ningún orden, por lo tanto la inserción de
elementos se puede realizar en cualquier lugar de la lista, al principio, al final, en una posición
aleatoria, ...
Generalmente se realiza la inserción de tal forma que la complejidad temporal sea mínima, es
decir, que sea una operación sencilla para que se realice en el menor tiempo posible. La
operación más sencilla depende de la implementación de la estructura de datos, en unos casos
puede ser la inserción al inicio, en otros la inserción al final y en este caso la inserción la
realiza en el segundo nodo de la lista.
Si tenemos la lista...
Lista 3, 76, -6
... e insertamos el elemento 0, la lista quedaría de la siguiente forma:
Lista 3, 0, 76, -6
8. Borrar
La operación borrar consiste en la eliminación de la lista de un elemento concreto. El elemento
a borrar será escogido por el programador.
La eliminación en una lista no conlleva ningún trabajo adicional más que el propio de la
eliminación del elemento en sí. Para borrar un elemento cualquiera habría que realizar un
recorrido secuencial de la lista hasta encontrar el nodo buscado y una vez localizado
reestructurar los punteros para saltarse el nodo a borrar y así poder eliminarlo.
Vamos a verlo con un ejemplo. Borrado del elemento 76 en la lista anterior:
Paso 1: Localizar el elemento a borrar.
Lista 3, 0, 76, -6
Paso 2: Reestructurar punteros y eliminar nodo.
Lista 3, 0, -6