Lista doblemente enlazada con Java

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://docs.oracle.com/javase/10/docs/api/java/util/LinkedList.html

Lista Enlazada con Java

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://docs.oracle.com/javase/10/docs/api/java/util/LinkedList.html

 

Estructura de datos en Swift: Lista doblemente enlazada, inserción

Esta es una implementación muy sencilla de una lista doblemente enlazada en 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 Swift y he aquí el código

 

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)

Estructura de datos en Swift: Listas enlazadas, Inserción

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

Volver arriba