Estructuras de Datos y Algoritmos en Java

La cienca inform�tica emfatiza dos t�picos importantes: las estructuras de datos y los algoritmos. Estos t�picos son importantes porque las elecciones que usted haga para las estructuras de datos y los algoritmos de un programa afectar�n al uso de la memoria (las estructuras de datos) y al tiempo del procesador (los algoritmos que interact�an con esas estructuras de datos). Cuando utiliza una estructura de datos o un algoritmo alguna veces descubre una relaci�n inversa entre la utilizaci�n de memoria y el tiempo de CPU: cuanto menos memoria utiliza una estructura de datos, m�s 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 m�s memoria utilice una estructura de datos, menor tiempo de CPU necesitan los algoritmos asociados y el procesamiento de los �tems de datos es mucho m�s r�pido. En la siguiente figura aparece est� relaci�n inversa.

Un ejemplo de la relaci�n inversa entre la utilizaci�n 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 inserci�n/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 m�s 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 vac�o para insertar o para borrar.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP