Te damos la bienvenida al segundo bloque de la asignatura Programación.
Ahora que cuentas con los conocimientos básicos sobre programación y memoria dinámica, aprenderás sobre las operaciones del ADT, que se caracterizan por ser flexibles y con numerosas aplicaciones, como asegurar que no se ha modificado un archivo en una transmisión de datos, la codificación de contraseñas o firmado digital, entre otras. Por ello, en esta sesión estudiarás el concepto de las listas enlazadas simples y sus variantes, así como sus elementos, llamados nodos, y cómo es que se conecta un elemento a otro usando un enlace o referencia, además de ver sus métodos comunes que son la inserción, eliminación y búsqueda.
Reto.
Imagina que trabajas como ingeniero a cargo de una nueva máquina de enfriamiento y debes saber en todo momento si la máquina está haciendo su trabajo eficientemente. Tanto en equipos industriales como en máquinas prototipo, es útil poder programar sus funciones, ya que por lo general tiene algún lenguaje (como C o C++) con el cual comunicarse con ellos.
Tomando en cuenta que estás a cargo de la nueva máquina de enfriamiento y que se requiere el monitoreo continuo de su funcionamiento, deberás programar la máquina en algún lenguaje. Ten presente que también se requiere saber si la máquina está haciendo su trabajo eficientemente, por lo que deberás considerar en la programación que la máquina active una alerta si su eficiencia decae en más de un 20% en menos de un minuto (que es el umbral en donde se sabe que posiblemente está ocurriendo alguna falla) tomando en cuenta que la máquina proporciona un dato cada segundo.
Para programar la máquina de enfriamiento de acuerdo con estas especificaciones, es necesario que reflexiones sobre la siguiente pregunta:
2. Listas encadenadas
2.1. Definición, ventajas y desventajas
2.2. Operaciones básicas del ADT lista encadenada: creación, inserción, recorrido y bajas
2.3. Variaciones a una lista encadenada
2.3.1. Listas circulares
2.3.2. Listas doblemente encadenadas