ESTRUCTURA DE DATOS
DEFINICIÓN
En programación, una estructura de datos es una forma de organizar
un conjunto de datos elementales (un dato elemental es la mínima información
que se tiene en el sistema) con el objetivo de facilitar la manipulación de
estos datos como un todo o individualmente.
Una estructura de datos define la organización e
interrelacionamiento de estos, y un conjunto de operaciones que se pueden
realizar sobre él. Las operaciones básicas son:
Alta, adicionar un nuevo valor a la estructura.
Baja, borrar un valor de la estructura.
Búsqueda, encontrar un determinado valor en la estructura para
realizar una operación con este valor, en forma SECUENCIAL o BINARIO (siempre y
cuando los datos estén ordenados)…
Otras operaciones que se pueden realizar son:
Ordenamiento, de los elementos pertenecientes a la estructura.
Apareo, dadas dos estructuras originar una nueva ordenada y que
contenga a las apareadas.
Cada estructura ofrece ventajas y desventajas en relación a la
simplicidad y eficiencia para la realización de cada operación. De esta forma,
la elección de la estructura de datos apropiada para cada problema depende de
factores como la frecuencia y el orden en que se realiza cada operación sobre
los datos.
Un registro,
en programación, es un tipo de dato estructurado formado por la unión de varios elementos bajo una
misma estructura. Estos elementos pueden ser, o bien datos elementales (entero,
real, carácter,...), o bien otras estructuras de datos. A cada uno de esos
elementos se le llama campo.
Un registro se
diferencia de un vector en que éste es una colección
de datos iguales, es decir, todos del mismo tipo, mientras que en una
estructura los elementos que la componen, aunque podrían serlo, no tiene porque
ser del mismo tipo.
Campo
En informática, un campo es un espacio de almacenamiento
para un dato en particular. En las bases de datos, un campo es la mínima unidad de información a la
que se puede acceder; un campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco, siendo
éste un error del sistema. En las hojas de cálculo los campos son llamados celdas. La mayoría de los
campos tienen atributos asociados a ellos. Por ejemplo, algunos campos son
numéricos mientras otros almacenan texto, también varía el tamaño de estos.
Adicionalmente, cada campo tiene un nombre.
Tipos de Campo
Un campo puede
ser:
Campo genérico
Aquel campo
que posee un dato único para una repetición de entidad. Puede servir para la
búsqueda de una entidad en específico.
Alfanuméricos: Contiene cifras y letras. Presentan una longitud
limitada (225 caracteres).
Numéricos: Existen de varios tipos principalmente como
enteros y reales.
Booleanos: Admite dos valores, "Verdadero" y
"Falso" (True-False).
Modelamiento Entidad-Relación
Es una técnica para desarrollar modelos de datos de
alta calidad, por medio de la cual se identifican los objetos de importancia en
una organización (entidades), las propiedades de estos objetos (atributos)
y cómo están relacionados unos con otros (relaciones).
Entidad
n
Es
una cosa u objeto de importancia, real o imaginaria, de la cual se necesita
conocer o mantener información
n
Atributo: es cualquier detalle que sirva para calificar,
identificar, clasificar, cuantificar o expresar el estado de una entidad
(característica de una entidad)
Concepto de Arreglos:
Es un conjunto de datos o
una estructura de datos homogéneos que se encuentran ubicados en forma
consecutiva en la memoria RAM (sirve para almacenar datos en forma temporal).
Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos.
Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos.
Los arreglos pueden ser de los
siguientes tipos:
De una dimensión.
De dos dimensiones.
De tres o más dimensiones.
Características:
1- Los Arreglos o Array tienen tres formas de indexación las cuales son: Indexación base-cero (0), Indexación base-uno (1), Indexación base-n (n).
1- Los Arreglos o Array tienen tres formas de indexación las cuales son: Indexación base-cero (0), Indexación base-uno (1), Indexación base-n (n).
2- Son usados en programas
como: Java, Léxico, Visual Basic, C, C++, y Pearl:
Ejemplos:
Concepto de Pilas:
Una pila, es una estructura
de datos en la que el último elemento en entrar es el primero en salir, lo que
también se denominan estructuras LIFO (Last In, First Out).
Se aplica en multitud de
ocasiones en informática debido a su simplicidad y ordenación implícita en la
propia estructura.
Para el manejo de los datos
se cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en
la pila, y su operación inversa, retirar (o desapilar, pop), que retira el
último elemento apilado.
Características:
1- Evaluación de expresiones en notación postfija (notación polaca inversa).
2- Reconocedores sintácticos de lenguajes independientes del contexto.
3- Implementación de recursividad.
1- Evaluación de expresiones en notación postfija (notación polaca inversa).
2- Reconocedores sintácticos de lenguajes independientes del contexto.
3- Implementación de recursividad.
Ejemplos:
Una cola es una estructura
de datos, caracterizada por ser una secuencia de elementos en la que la
operación de inserción push se realiza por un extremo y la operación de
extracción pop por el otro. También se le llama estructura FIFO (del inglés
First In First Out), debido a que el primer elemento en entrar será también el
primero en salir.
Características:
1- Las colas se caracterizan por ser circulares, de prioridad, bicolas, bicolas de entrada restringida y de salida restringida.
1- Las colas se caracterizan por ser circulares, de prioridad, bicolas, bicolas de entrada restringida y de salida restringida.
2- Permiten añadir un elemento,
eliminar un elemento y devolver un elemento primario de entrada.
Ejemplos:
Concepto de Listas:
En Ciencias de la
Computación, 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 (punteros) al nodo anterior y/o posterior.
El principal beneficio de las listas enlazadas respecto a los Array
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. Una lista enlazada
es un tipo de dato auto referenciado porque contienen un puntero o link a otro
dato del mismo tipo.
Características:
1- Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante, pero no permiten un acceso aleatorio.
1- Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante, pero no permiten un acceso aleatorio.
2- Existen diferentes tipos
de listas enlazadas: Listas enlazadas simples, listas doblemente enlazadas,
listas enlazadas circulares y listas enlazadas doblemente circulares.
3- Pueden ser implementadas
en muchos lenguajes. Lenguajes tales como Lisp y Scheme tiene estructuras de
datos ya construidas, junto con operaciones para acceder a las listas
enlazadas. Lenguajes imperativos u orientados a objetos tales como C o C++ y
Java, respectivamente, disponen de referencias para crear listas enlazadas.
Ejemplos:
Lista Enlazada Simple:
Lista Doblemente Enlazada:
Lista Enlazada Circular:
Lista Doblemente Enlazada Circular:









