Tarea de Investigación Formativa U02
Click here to load reader
-
Upload
kelvincabezas -
Category
Documents
-
view
27 -
download
3
Transcript of Tarea de Investigación Formativa U02
“Año De La Promoción De La Industria Responsable Y Compromiso Climático”
: Ing. Edwin Sánchez Ríos.
: Estructura de Datos.
: Actividad Formativa.
: Ingeniería.
: Ingeniería de Sistemas.
: Cabezas Huanio, Rubén 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 dinámica, 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 también 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
Inserción y extracción de nodos con coste independiente del
tamaño de la lista.
Concatenación y partición listas con coste independiente del
tamaño de las listas.
No hay necesidad de grandes cantidades de memoria contigua.
El uso de memoria se adapta dinámicamente al número de
datos almacenados en la lista en cada momento.
Desventajas de las listas enlazadas
Acceso a posiciones intermedias con coste dependiente del
tamaño 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ª edición): secciones 6.2 (Pilas) y 6.4 (Listas Enlazadas); introducción a la sección 15.1 (Implementaciones Dinámicas con Arrays) y sección 15.1.1 (Pilas); introducción a la sección 15.2 (Implementaciones con Listas Enlazadas) y sección 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 sección 3.3.3 (Implementación de una Cola con Listas Enlazadas).