Está en la página 1de 7

COMPLEJIDAD ESPACIAL

LUCIANA FIORELLA VILLANUEVA VSQUEZ


UNIVERSIDAD PRIVADA DEL NORTE

RESUMEN

El presente documento tiene como objetivo general investigar acerca de la complejidad de


los algoritmos en grandes rasgos, pues se enfocar ms en lo que respecta a la complejidad
espacial.
Asimismo, se presentar un algoritmo que implemente el tema.

INTRODUCCION
Es sabido que para la solucin de un problema, entre otros elementos, se requiere un
algoritmo; sin embargo, aun as el algoritmo es nico, pueden existir otros que nos brinden
la misma solucin. He ah es donde se ve el tema de complejidad, la cual permite analizar
cual algoritmo es ms eficiente en temas de tiempo de ejecucin (complejidad temporal) y
tamao del uso de memoria que requiere (complejidad espacial). Cabe destacar que un
algoritmo ser ms eficiente y optimo cuantos menos recursos consuma.
Es por ello que debido al gran nmero de algoritmos, es importante saber acerca de la
complejidad, pues esto nos permitir analizar la eficiencia de este en cuanto a costes de
tiempo de ejecucin y espacio, el cual ser en el que este documento se enfocar.

1. COMPLEJIDAD ALGORITMICA

En el mbito de la ciencia de la computacin, La complejidad algortmica representa la


cantidad de recursos que necesita un algoritmo para resolver un problema y por tanto
permite determinar la eficiencia de dicho algoritmo.
Los criterios que se van a emplear para evaluar la complejidad algortmica no
proporcionan medidas absolutas, sino medidas relativas al tamao del problema.
El coste depende del tamao de los datos. A la hora de evaluar el coste se debe de
tener en consideracin tres posibles casos: El coste esperado o promedio El coste
mejor El coste peor Si el tamao de los datos es grande lo que importa es el
comportamiento asinttico de la eficiencia.

1. Complejidad

Complejidad computacional y asinttica: el objetivo es elegir el algoritmo ms

eficiente para resolver un problema


Se utiliza para comparar el grado de dificultad del algoritmo
Indica el esfuerzo que hay que realizar para aplicar a un algoritmo y lo costoso que

este resulta (espacio, tiempo, cantidad utilizada de unidades de procesamiento)


Algoritmo mas eficiente cuanto menos complejo sea. La eficiencia suele medirse en
trminos de consumos: espaciales (cantidad de memoria utilizada durante el tiempo
de ejecucin), temporales (cantidad de tiempo que se necesite para ejecutar el

programa) , otros.
Factores que influyen en la complejidad: tamao del problema, recursos de
hardware y software.
o complejidad espacial: cantidad de memoria que utiliza el algoritmo para su
ejecucin.
o Para calcular la memoria esttica de un algoritmo se suma la memoria que
ocupan las variables declaradas en el algoritmo. Para el caso de la memoria
dinmica, el clculo no es tan simple ya que, este depende de cada ejecucin
del algoritmo.
o Este anlisis se basa en las Complejidades Temporales, con este fin, para
cada problema determinaremos una medida N, que llamaremos tamao de la
entrada o nmero de datos a procesar por el programa, intentaremos hallar
respuestas en funcin de dicha N.
o El concepto exacto que cuantifica N depender

de

la naturaleza del

problema, si hablamos de un array se puede ver a N como el rango del array,


para una matriz, el nmero de elementos que la componen; para un grafo,

podra ser el nmero de nodos o arcos que lo arman, no se puede establecer


una regla para N, pues cada problema acarrea su propia lgica y
complejidad.
o El resultado es expresado usualmente en notacin O grande.
o Existen 4 aspectos relevantes a considerar:

La cantidad de memoria requerida por el cdigo del algoritmo.

La cantidad de memoria requerida para almacenar los datos de


entrada.

La cantidad de memoria requerida para los datos de salida


(algoritmos como los de ordenacin suelen reorganizar los datos de
entrada y por ello no necesitan memoria extra para la salida).

o La cantidad de memoria requerida en cuanto a espacio de trabajo del


algoritmo para realizar los clculos y asignaciones (tanto para variables
como cualquier espacio necesario en la pila para almacenar llamadas a
subrutinas, este espacio es particularmente significativo para algoritmos que
utilizan tcnicas recursivas).
o Los factores que incluyen la complejidad espacial son: tamao del problema,
naturaleza de los datos de entrada y salida, recursos de hardware y software.
o El tamao del problema, est entre la magnitud que al aumentar incrementan
lacomplejidad del algoritmo como por ejemplo: el nmero de elementos al
ordenar unvector, o el valor de un nmero al realizar su factorizacin en
factores primos
o Formas de almacenamiento en el rea de complejidad espacial son:

Vectores

Listas

Pilas

Colas

D heaps, Fibonacci heaps

o Podemos distinguir dos tipos de gasto de memoria por parte de unalgoritmo:


o El gasto esttico: que viene definido por las variables globales declaradasen
el programa y que permanecen desde el principio hasta el final de
laejecucin. Este gasto es constante y conocido desde el principio.2.
o El gasto dinmico: producido por la llamada a cualquier funcin (ya queen
ese momento se reserva la memoria para las variables locales de lafuncin
ms un espacio adicional para el retorno al programa principal),las llamadas
de funciones recursivas y la reserva de memoria dinmicaen el montculo.

También podría gustarte