Documente Academic
Documente Profesional
Documente Cultură
2009
¿QUÉ ES UNA ESTRUCTURA DE DATOS?
En la programación existen problemas en los cuales se requiere operar con una colección
de datos. Por ejemplo, si requerimos almacenar información de los empleados de una
empresa para luego manipular esta información, si requerimos simular los clientes que
son atendidos en un supermercado, etc. En estos casos necesitamos agrupar estos
objetos para luego trabajar con ellos, en conclusión, una estructura de datos es una
manera de disponer de una colección de datos, así como, de la forma en cómo van a ser
manipulados, esto es, saber como se agregarán nuevos datos, cómo se accederán a
estos datos, cómo se eliminan datos, etc.
Las estructuras de datos estudiadas hasta el momento, los arreglos, permiten almacenar
un número fijo de datos, pues son estructuras estáticas. Cuando se fija el espacio de
memoria asignado para un arreglo, y se sobrepasa el número de elementos que se
pueden almacenar, se requiere redefinir un nuevo arreglo con una dimensión mayor para
soportar agregar más elementos, sin embargo, para solventar estos problemas, surgen
las estructuras de datos dinámicas, las cuales asignan memoria a cada elemento
agregado, estando limitado únicamente por la memoria del computador.
Son estructuras de datos dinámicas compuestas por nodos conectados. Los nodos son
elementos compuestos por campos de datos y referencias a otros nodos.
En java, una lista enlazada implica los siguientes conceptos: una clase con un campo
auto-referenciada, nodo, campo de enlace y enlace.
Clase auto-referenciada: una clase con al menos un campo cuyo tipo de referencia es el
nombre de la clase:
class Persona {
private String cedula;
private String nombres;
public Persona next;
// …….
}
Persona es una clase auto-referenciada porque su campo next es del mismo tipo de la
clase Persona.
Una lista enlazada simple es una lista de nodos enlazados (conectados), donde cada
nodo tiene un campo único de enlace. Una variable de referencia contiene una referencia
al primer nodo de la lista, cada nodo se enlaza con el nodo siguiente, y el enlace del
último nodo contiene null para indicar el final de la lista. El nombre habitual para la
variable de referencia es top, sin embargo, se puede elegir cualquier nombre.
• Inserción ordenada
• Concatenación e Inversión
• Eliminación de nodos