Capitulo 2: 

Listas Enlazadas

Listas Enlazadas

  • Listas enlazadas simples
  • Listas enlazadas dobles
  • Listas enlazadas circulares
  • Colas
  • Pilas
  • Diccionarios
  • Conjuntos

Ventajas de listas enlazadas Frente a los arreglos

  • Arreglos tienen tamaño fijo
  • Arreglos tienen complejidad O(1) para la búsqueda
  • Listas tienen tamaño dinámico
  • Listas tienen complejidad O(n) para la búsqueda

null

Nodo 1

Nodo 2

Nodo 3

Conjunto de nodos (Node)

Enlaces entre nodos (Link)

Lista Enlazada Simple

LinkedList

Nodo 2

null

Nodo 3

Cabeza

Cola

TAD Linked List

LinkedList

Node cabeza

Node

String dato

Node next

Node cola

Encapsulate

Encapsulate
CRUD

 

Nodo 2

null

Nodo 3

Cabeza

Cola

Nodo 1

1. Crear el nodo nuevo

2. Poner el nuevo nodo a apuntar a la cabeza

3. Hacer que el nuevo nodo sea la cabeza

Node myFirstNode = new Node();

Nodo 2

null

Nodo 3

Cabeza

Cola

Nodo 1

1. Respaldar el enlace del nodo a eliminar

2. Eliminar el nodo, Nodo a eliminar = null

 

Node siguiente = nodoEliminar.getSiguiente();

public void insertarNodo(String dato){

         Nodo nuevoNodo = new Nodo();

         nuevoNodo.setDato(dato);

         if(this.cabeza.==null){

                 this.cabeza = nuevoNodo();

        }else{

                Nodo temporal = this.cabeza;

                while(temporal!=null){

                      temporal = temporal.getSiguiente();

                      if (temporal.getSiguiente == null){

                           temporal.setSiguiente(nuevoNodo);

                      }

                 }

                

        }

}

Null

Cabeza

Listas Enlazadas

By Ricardo Bermúdez

Listas Enlazadas

  • 152