Ao De La Promocin De La Industria Responsable Y Compromiso Climtico
: Ing. Edwin Snchez Ros.
: Estructura de Datos.
: Actividad Formativa. : Ingeniera.
: Ingeniera de Sistemas. : Cabezas Huanio, Rubn Kelvin.
2014 LISTAS ENLAZADAS. La lista enlazada es un TDA que nos permite almacenar datos de una forma organizada, al igual que los vectores pero, a diferencia de estos, esta estructura es dinmica, por lo que no tenemos que saber "a priori" los elementos que puede contener. En una lista enlazada, cada elemento apunta al siguiente excepto el ltimo que no tiene sucesor y el valor del enlace es null. Por ello los elementos son registros que contienen el dato a almacenar y un enlace al siguiente elemento. Los elementos de una lista, suelen recibir tambin el nombre de nodos de la lista. Representa el dato a almacenar. Puede ser de cualquier tipo; en este ejemplo se trata de una lista de enteros. Es un puntero al siguiente elemento de la lista; con este puntero enlazamos con el sucesor, de forma que podamos construir la lista.
La clase Node Public class Node { private Object info; private Node next; public Node(Object info) {} public Node getNext() {} public void setNext(Node next) {} public Object getInfo() {} public void setInfo(Object info) {} }
Ventajas de las listas enlazadas Insercin y extraccin de nodos con coste independiente del tamao de la lista. Concatenacin y particin listas con coste independiente del tamao de las listas. No hay necesidad de grandes cantidades de memoria contigua. El uso de memoria se adapta dinmicamente al nmero de datos almacenados en la lista en cada momento.
Desventajas de las listas enlazadas Acceso a posiciones intermedias con coste dependiente del tamao de la lista. Necesidad de memoria adicional para almacenar los objetos Node con sus atributos.
Concepto de listas simples enlazadas
Una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias, enlaces o punteros al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los vectores convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.
Ejemplo: public class Nodo{
private Object dato; private Nodo nodo;
public Nodo(){ dato = null; Nodo nodo = null; } public Nodo(Object dato){ this(); this.dato = dato; } public void setDato(Object dato){ this.dato = dato; }
public Object getDato(){ return dato; }
public void setNodo(Nodo nodo){ this.nodo = nodo; }
public Nodo getNodo(){ return nodo; } }
BIBLIOGRAFIA (2012, 06). Listas Enlazadas Ejemplo. BuenasTareas.com. Recuperado 06, 2012, de http://www.buenastareas.com/ensayos/Listas-Enlazadas- Ejemplo/4499147.html Data Structures and Problem Solving Using Java de Mark A. Weiss (3 edicin): secciones 6.2 (Pilas) y 6.4 (Listas Enlazadas); introduccin a la seccin 15.1 (Implementaciones Dinmicas con Arrays) y seccin 15.1.1 (Pilas); introduccin a la seccin 15.2 (Implementaciones con Listas Enlazadas) y seccin 15.2.1 (Pilas). Data Structures and Algorithms in Java de Michael T. Goodrich y Roberto Tamassia (1 ed.): secciones 3.1 (Pilas) y 3.3 (Listas Enlazadas), excluyendo la seccin 3.3.3 (Implementacin de una Cola con Listas Enlazadas).