ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Implementacion De Las Estructuras Estaticas Y Dinamicas


Enviado por   •  11 de Noviembre de 2013  •  Ensayos  •  1.576 Palabras (7 Páginas)  •  390 Visitas

Página 1 de 7

IMPLEMENTACION DE LAS ESTRUCTURAS ESTATICAS Y DINAMICAS

En prácticamente todos los lenguajes de computación existen estructuras para almacenar colecciones de datos. Esto es una serie de datos agrupados a los que se puede hacer referencia con un único nombre. Ejemplo de ello son los arrays

La pega de los arrays es que es una estructura estática, esto significa que se debe saber el número de elementos que formarán parte de esa colección a priori, es decir en tiempo de compilación hay que decidir el tamaño de un array. Las estructuras dinámicas de datos tienen la ventaja de que sus integrantes se deciden en tiempo de ejecución y que el número de elementos es ilimitado. Estas estructuras dinámicas son clásicas en la programación y son las colas, pilas, listas enlazadas, árboles, grafos, etc. En muchos lenguajes se implementan mediante punteros; como Java no posee punteros se crearon clases especiales para implementa restas funciones.

ESTRUCTURA ESTATICA Y ESTRUCTURA DINAMICA

ESTRUCTURA ESTATICA

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 sub rangos (los últimos no existen en algunos lenguajes de programación).

por ejemplo: listas, vectores, matrices, pilas, colas y listas enlazadas.

El tamaño ocupado en la memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamaño. Es decir su valor no cambia a la hora de la ejecución.

Tipos estáticos

Casi todos los tipos de datos son estáticos, la excepción son los

punteros.

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.

Ejemplo estructura estática:

ESTRUCTURA DINAMICA

No tienen las limitaciones o restricciones en el tamaño de memoria ocupada que son propias de las estructuras estáticas.

Mediante el uso de un tipo de datos especifico, denominado puntero, es posible construir estructuras de datos dinámicas que no son soportadas por la mayoría de los lenguajes, pero que en aquellos que si tienen estas características ofrecen soluciones eficaces y efectivas en la solución de problemas complejos.

Se caracteriza por el hecho de que con un nombre se hace referencia a un grupo de casillas de memoria. Es decir un dato estructurado tiene varios componentes.

-Es aquella que durante la ejecusion de un programa su valor puede cambiar.

-Es la que no tiene limitaciones en el tamaño de la memoria.

-Esta estructura su valor puede cambiar durante la ejecucion de un programa.

Para el modelado de colecciones de datos en una aplicación se debe tener de manera muy clara la volatilidad de memoria. Es en ese momento donde se debe determinar si los datos se van a guardar en una estructura de datos estática o en una dinámica.

Existen dos formas de modelar colecciones en una aplicación.

1. Mediante arreglos o arrays.

A esto se le llaman estructuras de datos estáticas, debido a que todo el tiempo son de un mismo tamaño y todos sus datos están almacenados en una misma locación de memoria adyacentes.

Esto tiene sus ventajas y desventajas. Mencionaré las más importantes:

VENTAJA: Acceso simultáneo a la información. Por ende la velocidad de búsqueda es prácticamente nula. (Ventaja para el procesador CPU).

DESVENTAJA: Desperdicio de memoria. Por ejemplo, si sabemos que eventualmente tendremos 100 clientes y creamos un arreglo de 100 posiciones. Mientras se cumple el objetivo de tener 100 clientes teniendo por ejemplo solo 20 clientes, estaremos desperdiciando el espacio de 80 clientes; espacio que podríamos utilizar de manera más eficiente. (Desventaja para la memoria RAM).

2. Mediante nodos o Linkers.

A esto se le llaman estructuras de datos dinámicas, debido a que son una serie de elementos conectados entre sí por medio de punteros y referencias de memoria, debido a que se encuentran dispersos en toda la memoria y necesitan descriptores que establezcan donde se encuentran las demás posiciones.

VENTAJA: Gracias a esto podemos aprovechar de manera muy eficiente la memoria RAM ya que solo utilizaremos lugares de memoria una vez los necesitamos, sin necesidad de desperdiciar espacio. (Ventaja para la memoria RAM).

DESVENTAJA: Para acceder a los datos, debido a que el nivel de acceso principal siempre es la primera posición, y la primera posición no tiene referencia directa a todos los elementos de la estructura, se tiene que recorrer nodo por nodo hasta llegar a la posición buscada. Esto reduce en gran manera la velocidad de procesamiento en el momento de una búsqueda. (Desventaja para el procesador CPU).

Según el gráfico, podemos ver que un campo del nodo se destinará a guardar la referencia (dirección de memoria) de otro nodo que corresponde al nodo

...

Descargar como (para miembros actualizados)  txt (8.9 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com