INTRODUCCIÓN A LA
ESTRUCTURA DE DATOS
• En ciencias de la computación, una estructura de datos es una forma
particular de organizar datos en una computadora para que puedan
ser utilizados de manera eficiente. Diferentes tipos de estructuras de
datos son adecuados para diferentes tipos de aplicaciones, y algunos
son altamente especializados para tareas específicas.
• Las estructuras de datos son un medio para manejar grandes
cantidades de datos de manera eficiente para usos, como grandes
bases de datos y servicios de indización de Internet. Por lo general,
las estructuras de datos eficientes son clave para diseñar algoritmos
eficientes. Algunos métodos formales de diseño y lenguajes de
programación destacan las estructuras de datos, en lugar de los
algoritmos, como el factor clave de organización en el diseño de
software.
DESCRIPCIÓN
• Las estructuras de datos se basan generalmente en la capacidad de
un ordenador para recuperar y almacenar datos en cualquier lugar
de su memoria.
EJEMPLOS
• Existen numerosos tipos de estructuras de datos, generalmente construidas
sobre otras más simples:
Vector: es una serie de elementos en un orden específico, por lo
general todos del mismo tipo (si bien los elementos pueden ser de
casi cualquier tipo). Se accede a los elementos utilizando un entero
como índice para especificar el elemento que se requiere. Las
implementaciones típicas asignan palabras de memoria contiguas a
los elementos de los arreglos (aunque no siempre es el caso). Los
arreglos pueden cambiar de tamaño o tener una longitud fija.
vector asociativo: (también llamado diccionario o mapa ) es una
variante más flexible que una matriz, en la que se puede añadir y
eliminar libremente pares nombre-valor. Una tabla de hash es una
implementación usual de un arreglo asociativo.
Registro: (también llamado tupla o estructura) es una estructura de
datos agregados. Un registro es un valor que contiene otros valores,
típicamente en un número fijo y la secuencia y por lo general un
índice por nombres. Los elementos de los registros generalmente
son llamados campos.
Unión: es una estructura de datos que especifica cuál de una serie de
tipos de datos permitidos podrá ser almacenada en sus instancias, por
ejemplo flotante o entero largo. En contraste con un registro, que se
podría definir para contener un flotante y un entero largo, en una
unión, sólo hay un valor a la vez. Se asigna suficiente espacio para
contener el tipo de datos de cualquiera de los miembros.
Tipo variante: (también llamado registro variante o unión
discriminada) contiene un campo adicional que indica su tipo actual.
Conjunto: es un tipo de datos abstracto que puede almacenar
valores específicos, sin orden particular y sin valores duplicados.
Multiconjunto: es un tipo de datos abstracto que puede almacenar
valores específicos, sin orden particular. A diferencia de los conjuntos,
los multiconjuntos admiten repeticiones.
Grafo: es una estructura de datos conectada compuesta por nodos.
Cada nodo contiene un valor y una o más referencias a otros nodos.
Los grafos pueden utilizarse para representar redes, dado que los
nodos pueden referenciarse entre ellos. Las conexiones entre nodos
pueden tener dirección, es decir un nodo de partida y uno de llegada.
Árbol: es un caso particular de grafo dirigido en el que no se admiten
ciclos y existe un camino desde un nodo llamado raíz hasta cada uno
de los otros nodos. Una colección de árboles es llamada un bosque.
Clase: es una plantilla para la creación de objetos de datos según un
modelo predefinido. Las clases se utilizan como representación
abstracta de conceptos, incluyen campos como los registros y
operaciones que pueden consultar el valor de los campos o cambiar
sus valores.
ESTRUCTURAS DE DATOS EN
PROGRAMACIÓN
• En programación, una estructura de datos puede ser declarada
inicialmente escribiendo una palabra reservada, luego un
identificador para la estructura y un nombre para cada uno de sus
miembros, sin olvidar los tipos de datos que estos representan.
Generalmente, cada miembro se separa con algún tipo de operador,
carácter o palabra reservada.