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