


En programación, una estructura de datos es una forma
particular de organizar datos en una computadora para que pueda ser utilizado
de manera eficiente.
Estructuras
de datos en programación
En el lenguaje de programación Pauscal es
posible crear una estructura de datos de la anteriormente mencionada.
Estruc Identificador, _
Miembro1:TipoDeDato, _
Miembro2:TipoDeDato, _
...
Miembro9:TipoDeDato
Para acceder a los miembros de una estructura primero se debe crear una
referencia a esta, generalmente con una variable de tipo, luego se pueden
editar y obtener los datos de los miembros libremente.
Estruc
Estructura,Miembro1:Entero,Miembro2:Cadena,Miembro3:Byte
Var Variable:Estructura
Variable.Miembro1 = 40000
Variable.Miembro2 = "Hola Mundo"
Variable.Miembro3 = 255
Mensaje(Variable.Miembro2) ' Muestra
"Hola Mundo"
Almacenamiento Interno
El
almacenamiento interno tiene la ventaja de hacer accesos a los datos más
eficientes, requiriendo menos almacenamiento global, teniendo mejor referencia
de localidad, y simplifica la gestión de memoria para la lista (los datos son
alojados y desalojados al mismo tiempo que los nodos de la lista)
Almacenamiento
Externo
El
almacenamiento externo, por otro lado, tiene la ventaja de ser más genérico, en
la misma estructura de datos y código máquina puede ser usado para una lista
enlazada, no importa cuál sea su tamaño o los datos. Esto hace que sea más
fácil colocar el mismo dato en múltiples listas enlazadas.
Base de Datos
Una base de datos (cuya
abreviatura es BD) es una entidad en la cual se pueden almacenar datos
de manera estructurada, con la menor redundancia posible. Diferentes programas
y diferentes usuarios deben poder utilizar estos datos. Por lo tanto, el
concepto de base de datos generalmente está relacionado con el de red ya que se debe poder compartir esta información. De allí
el término base. "Sistema de información" es el término
general utilizado para la estructura global que incluye todos los mecanismos
para compartir datos que se han instalado.
Archivos
Un archivo o fichero informático
es un conjunto de bits que son almacenados en
un dispositivo. Un archivo es identificado por un nombre y la descripción de la
carpeta o directorio que lo contiene.
A los archivos informáticos se les llama así
porque son los equivalentes digitales de los archivos escritos en libros,
tarjetas, libretas, papel o microfichas
del entorno de oficina tradicional.
Tablas
Tabla en
las bases de datos,
se refiere al tipo de modelado de datos, donde se guardan los datos recogidos
por un programa. Su estructura general se asemeja a la vista general de un
programa de hoja de cálculo.
Una
tabla es utilizada para organizar y presentar información. Las tablas se
componen de filas y columnas de celdas que se pueden rellenar con textos y
gráficos Las tablas se componen de dos estructuras:
·
Registro: es cada una de las
filas en que se divide la tabla. Cada registro contiene datos de los mismos
tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones,
cada fila contendrá un nombre y una dirección.
·
Campo: es cada una de las columnas
que forman la tabla. Contienen datos de tipo diferente a los de otros campos.
En el ejemplo anterior, un campo contendrá un tipo de datos único, como una
dirección, o un número de teléfono, un nombre, etc.
Estáticos
Casi todos los tipos
de datos son estáticos, la excepción son los punteros y no se
tratarán debido a su complejidad.
Que un tipo de datos
sea estático quiere decir que el tamaño que ocupa en memoria no puede variar
durante la ejecución del programa. Es decir, una vez declarada una variable de un tipo determinado, a ésta se
le asigna un trozo de memoria fijo, y este trozo no se podrá aumentar ni
disminuir.
Dinámicos
Dentro de esta categoría entra solamente el tipo puntero.
Este tipo te permite tener un mayor control sobre la gestión de memoria en tus
programas. Con ellos puedes manejar el tamaño de tus variables en tiempo de
ejecución, o sea, cuando el programa se está ejecutando.Los punteros quizás sean el concepto más complejo a la hora de aprender un lenguaje de programación, sobre todo si es el primero que aprendes. Debido a esto, no lo trataremos. Además, lenguajes que están muy de moda (por ejemplo Java) no permiten al programador trabajar con punteros.
Arreglos
Son una agrupación de datos
homogéneos, es decir, con un mismo tipo de dato básico asociado. Se almacenan
en forma contigua en la memoria y son referenciados con un nombre común y una
posición relativa.
Ejemplos:
Arreglo Lineal (1 dimensión ó vector)
Vista gráfica
Arreglo Lineal (1 dimensión ó vector)
Vista gráfica
[1]
|
[2]
|
[3]
|
[4]
|
[5]
|
Cadenas
Se define como una secuencia de caracteres que se interpretan como un dato único. Su longitud puede ser fija o variable porque además está constituida por caracteres alfanuméricos.
Vector
Es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones).
Matriz
Es un conjunto de variables (también llamado bloque) del mismo tipo que el considerado en matemática, y cuyo acceso se realiza por índices o líneas.
Lista
Una lista es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras
estructuras de datos.
Pila
Una pila es una estructura de datos a la cual se puede acceder solo
por un extremo de la misma.
Las pilas son frecuentemente utilizadas en el desarrollo de sistemas
informáticos y software en general. Por ejemplo, el sistema de soporte en
tiempo de compilación y ejecución del Pascal utiliza una pila para llevar la
cuenta de los parámetros de procedimientos y funciones, variables locales,
globales y dinámicas.
Clasificación
Pila estática
¿Cómo representar estáticamente una pila?
Sin duda tendremos que utilizar arreglos o registros que como ya sabemos
son la base para estructuras de datos más complejas. Considera la siguiente
figura:
Vista gráfica
Suponiendo que Dato pertenece a un mismo tipo de datos y CuentaDato
corresponde a un entero que se incrementa a medida que un nuevo elemento se
incorpora a la pila. Intenta construir la definición de tipo para la estructura
Pila.
______________________________
______________________________
______________________________
END;
Pila Dinámica
¿Cómo representar dinámicamente una pila?
Sin duda tendremos que utilizar nodos con punteros. Considera la
siguiente figura:
Suponiendo que los punteros que aparecen en la figura son capaces de
apuntar a un nodo y que Dato pertenece a cualquiera de los tipos básicos o
estructurados, la definición de tipo sería:
TYPE
Puntero=^NodoPila;
NodoPila=Record
Info:AlgunTipo;
sgte:Puntero;
End;
Puntero=^NodoPila;
NodoPila=Record
Info:AlgunTipo;
sgte:Puntero;
End;
Var tope:Puntero;
Cola
Una cola es una colección de elementos
homogéneos (almacenados en dicha estructura), en la misma se pueden insertar
elementos por uno de los extremos, llamado frente,
y retirar los mismos por el otro extremo, denominado final.
Secuencial
Es aquel fichero cuyo
registro pueden ser tratados en secuencia, unos datos detrás de otros. Después
de haber leído un registro el dispositivo de lectura se posiciona al principio
del siguiente.
Directo
Es un término usado en
los sistemas operativos Microsoft Windows para referirse a un fichero u objeto
cuyo contenido contiene instrucciones que redirigen a otro fichero del sistema
de ficheros o a un lugar de la red.
Indexado
Este tipo
de ficheros permiten el acceso a sus componentes en base a una clave que
permite diferenciar a cada componente del resto.
Arboles
En ciencias de la computación y en informática,
un árbol es una estructura de datos
ampliamente usada que imita la forma de un árbol (un conjunto de nodos
conectados). Un nodo es la unidad sobre la que se construye el árbol y
puede tener cero o más nodos hijos conectados a él.
Tipos
de Arboles
Ø Árboles Binarios
Ø Árbol de búsqueda binario auto-balanceable
·
Árboles AVL
·
Árboles Rojo-Negro
·
Árbol AA
§ Árbol de segmento
Ø Árboles Multicamino
§ Árboles B (Árboles de
búsqueda multicamino autobalanceados)
·
Árbol-B+
·
Árbol-B*
Grafos
Un grafo en el ámbito de las ciencias de la computación es una estructura de datos, en concreto un tipo abstracto de datos (TAD), que consiste en un conjunto de nodos (también llamados vértices) y un conjunto de arcos (aristas) que establecen relaciones entre los nodos. El concepto de grafo TAD desciende directamente del concepto matemático de grafo.
No hay comentarios:
Publicar un comentario