Continuando con la implementación de estructuras de datos acá presento una lista doblemente enlazada y el recorrido de sus valores hacia adelante y atrás, su implementación es solo una variación de la lista simple, pero con la particularidad que cada nodo no solo tiene un puntero al siguiente sino también un puntero al anterior, acá el código con la implementación y un link a repl.it para la revisión de la ejecución del siguiente código.


Tabla de desempeño basado en Big O

Algoritmo Tiempo promedio Peor caso
Búsqueda O(n) O(n)
Inserción O(1) O(1)
Eliminación O(1) O(1)

El ejemplo de ejecución en Repl.it https://repl.it/@donpandix/Estructura-Datos

El objeto nativo de java se llama LinkedList y su documentación oficial está en https://bit.ly/2Z1FNO1

Con el propósito de profundizar y/o recordar conocimientos escenciales en lo que refiere a codificación, comenzaré nuevamente a publicar algunas implementaciones de los conceptos estructura de datos y algoritmos, en esta oportunidad presento la implementación de una lista enlazada simple en lenguaje JAVA, ya tenía una implementación de esta estructura de datos realizado con Swift, pero quise realizarla en este JAVA porque es un lenguaje que en lo particular me gusta mucho. sin más les dejo el código.

Acá les dejo un link al proyecto en repl.it si desean analizarlo y ejecutarlo con más detalle https://repl.it/@donpandix/Estructura-Datos

Un dato relevante para quienes les gusta conocer más en profundidad las implementaciones, es su desempeño definido por su Big O:

Algoritmo Tiempo promedio Peor caso
Búsqueda O(n) O(n)
Inserción O(1) O(1)
Eliminación O(1) O(1)

El objeto nativo de java se llama LinkedList y su documentación oficial está en https://bit.ly/2Z1FNO1

Esta es una implementación muy sencilla de una lista doblemente enlazada en lenguaje de programación Swift, la ventaja de este tipo de estructura de datos es la de poder navegar hacia los dos sentidos de la lista. La implementación la hice en la versión 4.2 y he aquí el código que colgé en repl.it

acá está el link al código en ejecución https://repl.it/@donpandix/Listas-enlazadas-dobles

Como nota adicional la complejidad del recorrido de esta como de la lista simple es de O(n)

Ejemplo de listas enlazadas con lenguaje de programación swift, implementación de estructura de datos.

Con este ejemplo de listas enlazadas, creo que la mejor manera, de explorar un lenguaje es por medio de implementación de los conceptos básicos de la estructura de datos y de algoritmos, es por ello que he creado este código muy simple que maneja la inserción de datos a una lista enlazada. Este ejemplo aunque es muy sencillo implementa objetos y ciclos de manera muy clara, trate de comentarlo de forma que no necesite mucha explicación y mientras se rutea se entienda.

El resultado del código es algo así: Esto es para estudio de estructura de datos
===========================================
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Elemplo ejecutable https://repl.it/@donpandix/Lista-enlazada

Acá hay buena información de lo que son las listas Lista (Wikipedia)

Acá el manual de Swift Swift / developer.apple.com

Este es solamente un comienzo del estudio de estructura de datos, elegí este lenguaje por motivos de estudio y descubrimiento de las bondades, virtudes y defectos de swift.