Estructura De Datos
Enviado por abelopez7 • 20 de Agosto de 2013 • 1.899 Palabras (8 Páginas) • 271 Visitas
Introducción:
El propósito principal de la mayoría de los programas de computadoras es almacenar y recuperar información y realizar cálculos; los requisitos de almacenamiento y tiempo de ejecución exigen que tales programas deban organizar su información de un modo que soporte un procesamiento eficiente.
DEFINICIÓN
En sentido general una estructura de datos es una agregación de tipos de datos compuestos y atómicos en un conjunto con relaciones bien definidas. Una estructura significa un conjunto de reglas que contienen los datos juntos. Los datos a procesar por una computadora se clasifican en simples y estructurados, la principal característica de los datos simples es que ocupan solo una casilla de memoria por lo tanto una variable simple hace diferencia a un único valor a la vez .Dentro de este grupo de datos se encuentra:
Enteros
Reales
Caracteres
Booleanos
Datos estructurados.- se caracterizan por el hecho que con un nombre se hace referencia a un grupo de casillas de memoria. Una estructura de datos define la organización e interrelación de estos y un conjunto de operaciones que se pueden realizar sobre ellos. 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.
CLASIFICACIÓN
ESTRUCTURAS DINÁMICAS Y ESTÁTICAS.
Estructuras estáticas:
Son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la ejecución del programa. Estas estructuras están implementadas en casi todos los lenguajes.
Su principal característica es que ocupan solo una casilla de memoria, por lo tanto una variable simple hace referencia a un único valor a la vez, dentro de este grupo de datos se encuentra: enteros, reales, caracteres, boléanos, enumerados y subrangos (los últimos no existen en algunos lenguajes de programación)
Arreglos:
Con frecuencia se presenta problemas cuya solución no resulta fácil implementar si se utilizan datos simples. 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).
Definición de arreglos:
Como no es la intención del autor de seguir la sintaxis de algún lenguaje de programación, se definirá un arreglo de la siguiente manera:
Ident_arreglo=ARREGLO[liminf..limsup]DE tipo
Con los valores de liminf y limsup se declara el tipo de los índices así como el número de elementos que tendrá el arreglo.
Se declara el tipo de datos para todos los componentes no tiene que ser necesariamente el mismo que el tipo de los índices.
Nota:
a) El tipoi del índice puede ser cualquier tipo ordinal (carácter, entero, enumerado)
b) El tipo de los componentes puede ser cualquier tipo (entero, real, cadena de caracteres, registro, arreglo etc.
c) Se utilizan los corchetes “[]“para indicar el índice de un arreglo. Entre los [] se debe escribir un valor ordinal (puede ser una variable, una constante o una expresión tan compleja como se quiera, pero que de como resultado un valor ordinal)
Arreglos bidimensionales:
Es un conjunto de datos homogéneo, finito y ordenado, donde se hace referencia a cada elemento por medio de dos índices.
El primero se utiliza generalmente para indicar renglón, y el segundo para indicar la columna. Un arreglo bidimensional también puede definirse como un arreglo de arreglos
Se declaran los arreglos bidimensionales especificados el número de renglones y el número de columnas, junto con el tipo de los componentes.
Id_arreglo=ARREGLO[liminfr..limsupr, liminfc…limsupc] DE tipo
Con liminfr y limsupr se declara el tipo del índice de los renglones y cuantos renglones tendrá el arreglo. Con liminfc y limsupc se declara el tipo del índice de las columnas y cuantas columnas tendrá el arreglo. Con tipo se declara el tipo de datos de todos los componentes del arreglo.
Arreglos más de dos dimensiones:
Un arreglo N dimensiones es una colección de k1 X K2…X Kn elementos.
Para hacer la referencia a cada componente de un arreglo de N dimensiones se usaran N índices
Se definirá el arreglo A de N dimensiones de la siguiente manera:
A=ARREGLO[LI1..LS1, LI2..LS2…,LIN..LSN] DE tipo
Arreglos multidimensionales:
Los arreglos presentados hasta el momento reciben el nombre de arreglos unidimensionales o lineales, debido a que cualquier elemento es reverenciado por un único índice. También existe en la mayoría de los lenguajes una estructura de arreglos multidimensionales. El número de dimensiones (índices) permitiendo depende del lenguaje elegido.
Operaciones con arreglos:
Podemos clasificar a las operaciones en las que intervienen arreglos de la siguiente manera:
Lectura/escritura
Asignación
Actualización: inserción, eliminación, modificación
Ordenación
Búsqueda
Como los arreglos son datos estructurados, muchas de estas operaciones no pueden llevarse a cabo de manera global, sino que se debe que trabajar sobre cada componente
Conjuntos:
Los conjuntos pueden implementarse usando diversas estructuras de datos. Con una estructura de datos ideal se comprueba si un objeto se encuentra en el conjunto, además de activarse otras operaciones útiles tales como la iteración sobre todos los objetos del conjunto, la realización de uniones o intersecciones entre dos conjuntos, o la toma del complemento de un conjunto
...