Introducción

1

¿Ya tomaste el Curso Avanzado de Algoritmos: Patrones de Arrays y Strings?

Lista Enlazada

2

Estructura de datos: Lista Enlazada

3

Programando listas enlazadas con Java

4

Cómo Invertir una Lista Enlazada

5

Odd Even Linked List: análisis del problema

6

Solución de Odd Even Linked List

7

Playground: Odd Even Liked List

8

Programando Odd Even Linked List con C++

9

Linked List Cycle: análisis del problema

10

Solución de Linked List Cycle

11

Playground: Linked List Cycle

12

Programando Linked List Cycle con Python

13

Palindrome Linked List: análisis del problema

14

Solución de Palindrome Linked List

15

Playground: Palindrome Linked List

16

Programando Palindrome Linked List con Java

17

Reorder List: análisis del problema

18

Solución de Reorder List

19

Programando Reorder List con JavaScript

20

Playground: Reorder List Without Repeated Values

21

Reto: LRU Caché

22

Ejercicios recomendados de Lista Enlazada

23

Ejercicios resueltos de Lista Enlazada

Pilas y colas

24

Estructura de datos: Pilas y Colas

25

Paréntesis Válido: análisis del problema

26

Solución de Paréntesis Válido

27

Playground: Paréntesis Válido

28

Programando Paréntesis Válido con C++

29

Ejercicios recomendados de Pilas

Colas de prioridad

30

Estructura de datos: Colas de Prioridad

31

K Closest Points to Origin: análisis del problema

32

Solución de K Closest Points to Origin

33

Playground: K Closest Points to Origin

34

Programando K Closest Points to Origin con Python

35

Reorganize String: análisis del problema

36

Solución de Reorganize String

37

Playground: Reorganize String

38

Programando Reorganize String con Python

39

Ejercicios recomendados de Colas de prioridad

40

Ejercicios resueltos de Colas de prioridad

Próximos pasos

41

Toma el Curso Avanzado de Algoritmos: Grafos y Árboles

Estructura de datos: Lista Enlazada

2/41
Recursos

Aportes 9

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Ventaja de la Lista Enlazada; Cuando se quiere insertar o remover algún nodo de la Lista Enlazada no se tiene que mover la posición de los demás Nodos porque esta estructura realiza un proceso de conexion o desconexión con los nodos que se encuentran en la posición anterior y siguiente de la Lista Enlazada. Esta complejidad se llama O(1) o constante y es mucho más eficiente, con esto no se busca o recorre sino que se accede directamente para remover o insertar La Lista Enlazada no usa espacios de memoria contiguos.

muy buena explicación!

## Estructura de dato: Lista Enlazada Representan datos que no están contiguos, seguidos en memoria, pero podemos crear relaciones entre ellos para que estén enlazados. La relación puede ser unidireccional o bidireccional. O ← O O → O O ↔ O Podemos fácilmente manipular los apuntadores de los nodos. Podemos tener complejidad O(1), en lugar de O(n) como pasaría con arrays comunes.
Las estructuras de datos funcionan para mejorar la calidad de nuestros algoritmos... ahorrando tiempo u memoria al proyecto... mejorando por consecuente la eficiencia del mismo. Además que permiten en casos especiales manejar datos especiales... que con listas u arrays no se podrían o sería muy costoso manejar

Desventaja una Lista: Cuando se quiere insertar un nuevo Nodo en la Lista se mueven (hacia un lado) todos los nodos que se encuentran después de la ubicación indicada. Esto cambia la direccion de memoria de todos los nodos. La complejidad de insertar de esta manera se le llama O(n); que significa Lineal.

# **Estructura de datos: Listas Enlazadas** Una lista enlazada es una colección de elementos, donde cada elemento contiene dos partes principales: el dato que queremos almacenar y un enlace (o puntero) al siguiente elemento de la lista. Cada elemento se llama "nodo". Imagina que tienes una cadena de cuentas de cuentos (nodos), y cada cuenta tiene una página con una parte de la historia (dato) y un marcador para decirte dónde está la siguiente página (enlace al siguiente nodo). Así, puedes leer la historia de principio a fin siguiendo las páginas. En términos más técnicos: * **Nodo:** Cada elemento de la lista. Contiene dos partes: el dato y un enlace al siguiente nodo. * **Enlace (o puntero):** Un elemento que apunta al siguiente nodo en la lista. * **Inicio de la lista:** El primer nodo de la lista. * **Fin de la lista:** El último nodo de la lista que tiene un enlace que apunta a `null` o a ningún otro nodo, indicando el final. La principal ventaja de las listas enlazadas es que permiten la inserción y eliminación eficientes de elementos en cualquier posición, ya que solo necesitas actualizar los enlaces, en lugar de reorganizar toda la estructura como en otros tipos de listas. Sin embargo, el acceso a un elemento específico puede ser un poco más lento, ya que debes seguir los enlaces desde el inicio de la lista hasta el elemento deseado.

aka Linked Lists

La profe se hace entender super bien. Me gusta que tenga super clarísimo el Big O notation, pues da a conocer mejor en qué casos usar lo que enseña.

Super claro. Gracias camila.