Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Nodos y singly linked list

9/23
Recursos

Aportes 7

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Resumen:
■■■■■■■

Nodes y singly linked list

Las estructuras linked consisten en nodos conectados a otros, los más comunes son sencillos o dobles. No se accede por índice sino por recorrido. Es decir se busca en la lista de nodos hasta encontrar un valor.

  • Data: Será el valor albergado en un nodo.
  • Next: Es la referencia al siguiente nodo en la lista
  • Previous: Será el nodo anterior.
  • Head: Hace referencia al primer nodo en la lista
  • Tail: Hace referencia al último nodo.

¿Cómo funciona en memoria los Linked Estructures?

Estas estructuras de datos hablan de nodos/datos repartidos en memoria, diferentes a los arrays que son contiguos. Los nodos se conectan a diferentes espacios en memoria, podemos acceder a los datos saltando en memoria, siendo mucho más ágil. Los nodos nos sirven para crear otras estructuras más complejas, como Stacks, Queues, las llamadas pilas y colas. Es posible optimizar partes del código usando nodos.


Double Linked Structure.

Estos hacen que el nodo haga referencia al siguiente nodo y al anterior, es decir nos va a permitir ir en ambas direcciones. También nos permitirá realizar “formas” y contextos circulares.

  • El ejemplo clave aquí será función de ctrl+z y ctrl+y Estas opciones nos permiten hacer y deshacer un proceso en Windows.

  • El historial del navegador también es un buen ejemplo al permitirnos navegar entre el pasado y el presente.


Nota: Los linked list tienen una desventaja importante, si la lista crece mucho será más costoso computacionalmente recorrer toda la lista.
Es importante saber cuando usarlas y cuando no.


Una ventaja de este tipo de estructuras es que no estamos sujetos a un número de items para guardar en memoria. Podemos quitar y agregar elementos y estos se guardarán de forma segregada en memoria.

Sin embargo, no podemos acceder tan rápido como en los arrays, ya que su ubicación no está dada por un índice. Debemos de recorrer la lista cada vez puedes la ubicación del valor n, está guardada en el valor n -1.

A tomar en cuenta: Si una lista es muy larga, tomará mucho tiempo recorrerla, esto por O(n).

Muy buena la clase, 😃 🦾
como menciona el Profesor, las Linked List son usadas como el apoyo o soporte de otras estructura de datos como los Stacks y Queues, o se puede evidenciar su uso en el historial de navegador.
Otros ejemplos de uso:

  • Lista de Spotify: que apunta automáticamente a la siguiente canción de la lista de reproducción.

Features

  • Consists on linked nodes
  • Access to a value is through slicing, not by index

Key concepts

  • Data: Value in a node
  • Next/Previous: Reference to the next/before node
  • Head/Tail: Reference to the first/last node

Implementations

  • Stacks and queues
  • Optimizations

A veces no me queda claro si es que las clases que estoy viendo hacen parte de otra escuela donde si dan el contexto y el background adecuado o sencillamente algunos docentes fracasan por completo al explicar los temas.
Termina el video y quedo con más dudas que certezas, pareciera que son vídeos para que tengamos idea de los temas y luego busquemos la información en otras fuentes de internet, lo cuál es absurdo teniendo en cuenta que son cursos pagos.