Tarea de Investigación Formativa U02

6

Click here to load reader

Transcript of Tarea de Investigación Formativa U02

Page 1: 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

Page 2: Tarea de Investigación Formativa U02

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.

Page 3: Tarea de Investigación Formativa U02

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.

Page 4: Tarea de Investigación Formativa U02

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;

Page 5: Tarea de Investigación Formativa U02

}

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;

}

}

Page 6: Tarea de Investigación Formativa U02

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).