Estructuras de Datos y Algoritmos en Java

La cienca informtica emfatiza dos tpicos importantes: las estructuras de datos y los algoritmos. Estos tpicos son importantes porque las elecciones que usted haga para las estructuras de datos y los algoritmos de un programa afectarn al uso de la memoria (las estructuras de datos) y al tiempo del procesador (los algoritmos que interactan con esas estructuras de datos). Cuando utiliza una estructura de datos o un algoritmo alguna veces descubre una relacin inversa entre la utilizacin de memoria y el tiempo de CPU: cuanto menos memoria utiliza una estructura de datos, ms tiempo de CPU necesitan los algoritmos asociados para procesar los items de datos de la estructura, que son valores de tipos primitivos u objetos, mediante referencias. De igual forma, cuanto ms memoria utilice una estructura de datos, menor tiempo de CPU necesitan los algoritmos asociados y el procesamiento de los tems de datos es mucho ms rpido. En la siguiente figura aparece est relacin inversa.

Un ejemplo de la relacin inversa entre la utilizacin de memoria y el consumo de CPU implica las estructuras de datos de los arrays unidimensionales y las listas doblemente enlazadas, y sus algoritmos de insercin/borrado. Para una lista de tems dada, una array unidimensional ocupa menos memoria que una lista doblemente enlzada: este tipo de listas necesita asociar enlaces con tems de datos para encontrar el predecesor y el sucesor, lo que requiere memoria extra. Por el contrario los algoritmos para insertar/eliminar elementos en un array unidimensional son ms lentos que los algoritmos equivalentes de una lista doblemente enlazada: insertar o borrar un tem en un array unidimensional requiere movimiento de tems de datos para poder tener un elemento vaco para insertar o para borrar.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.