Actividad 2
¿Qué son listas simplemente ligadas?
Una lista enlazada o encadenada es un conjunto de elementos en los que cada elemento contiene la posición (o dirección ) del siguiente elemento de la lista. Cada elemento de la lista debe tener al menos dos campos: un campo que contiene el valor del elemento y un campo( enlace, link) que contiene la posición del siguiente elemento, es decir su conexión, enlace o encadenamiento. Los elementos de una lista son enlazados por medio de los campo enlaces.
Los componentes de los nodos se llaman campos. Un nodo tiene al menos un campo dato o valor y un enlace o liga (dirección o puntero) con el siguiente campo.
El ultimo nodo de la lista enlazada tiene como liga un NULL, indicando que la lista termina en ese nodo.
El enlace o puntero es una variable cuyo valor es la dirección o posición de otra variable. En las listas enlazadas no es necesario que los elementos de la lista sean almacenados en posiciones físicas adyacentes, ya que el puntero indica donde se encuentra el siguiente elemento de la lista
Aporte Personal: Las listas simplemente ligadas son estructuras dinámicas donde la información se encuentra conectada mediante nodos. cada nodo posee dos campos, un campo dato donde se guarda el valor o la información como tal y un campo liga que indica la conexión o dirección del siguiente nodo. El ultimo nodo se caracteriza por ser null, indicando que es el fina de la estructura. Se dice que son dinámicas porque permiten un manejo más eficiente de la memoria, usando solo la necesaria en el momento.
Resumen: las listas simplemente ligadas son estructuras de datos que no son nativas de los lenguajes de programación sino objetos. En los arreglos la información se presenta en forma de casillas o cuadritos uno al lado del otro, mientras que en las listas estas casillas están separadas pero con un conexión al que llamamos apuntador. Son estructuras que pueden crece según la necesidad. Cada casilla se le llama nodo, el apuntador señala la dirección donde se encuentra el siguiente nodo en la estructura. También tenemos un apuntador llamado head este indica donde comienza nuestra lista.
Procesos que se pueden hacer con las listas simplemente ligadas
Dos de las aplicaciones más conocidas de listas son las siguientes:
Representación de polinomios.
Resolución de colisiones (hash).
En general se puede señalar que las listas son muy útiles para aquellas aplicaciones en las que se necesite dinamismo en el crecimiento y reducción de la estructura de datos usada para el almacenamiento de la información.
Representación de polinomios
Las listas se pueden emplear para almacenar los coeficientes diferentes de cero del polinomio, junto al exponente. Así, por ejemplo, dado al polinomio:
P(x) = 3x^4 + 0.5X^3 + 6X - 4
Referencias: Naolly Dimeisons, Monografias.com. (2014). Listas Enlazadas (página 2) - Monografias.com. Listas Enlazadas. https://www.monografias.com/trabajos101/las-istas-enlazadas/las-istas-enlazadas2.shtml
Ejemplos de listas simplemente ligadas
Se pide que, cree una agenda, donde pueda almacenar el nombre, teléfono y correo electrónico de sus amigos; haciendo uso de una lista enlazada. Dicha agenda, debe permitirle: añadir un nuevo registro, eliminar y Mostrar la lista de todos los registros.
El más simple y directo es un tren.
Los vagones de tren están vinculados en un orden específico para que se puedan cargar, descargar, transferir, dejar y recoger de la manera más eficiente posible.
Por ejemplo, la planta Jiffy Mix necesita azúcar, harina, harina de maíz, etc. A la vuelta de la esquina podría haber una planta procesadora de papel que necesita cloro, ácido sulfúrico e hidrógeno.
Ahora, podemos detener el tren, descargar cada vagón de su contenido, luego dejar que el tren continúe, pero luego todo lo demás en el tren debe sentarse mientras se saca la harina del cajón, luego el azúcar, etc.
En cambio, los vagones se cargan en el tren en orden para que se pueda separar una gran parte del mismo y el resto del tren continúe.
El final del tren es más fácil de separar que una porción en el medio, y mucho más fácil que separar algunos vagones en un lugar y algunos autos en otro lugar.
Sin embargo, si es necesario, puede insertar y quitar elementos en cualquier punto del tren.
Al igual que una lista vinculada.