miércoles, 10 de febrero de 2010

Complejidad en el espacio

Es la memoria que utiliza un programa para su ejecución; es decir el espacio de memoria que ocupan todas las variables propias del algoritmo.

Esta se divide en Memoria Estática y Memoria Dinámica.

Memoria estática. Para calcularla se suma de memoria que ocupan las variables declaradas en el algoritmo.

Memoria dinámica. Su cálculo no es tan simple ya que depende de cada ejecución del algoritmo.

Ejemplo: algoritmo de búsqueda en arboles.

Función búsqueda_arboles.

Devuelve una solución o fallo.

Inicializa un árbol de búsqueda con estado inicial.

Bucle hacer

- Si no hay candidatos para expandir.

- Entonces devolver fallo.

- En otro caso escoger nodo para expandir.

- Si el nodo es el objetivo.

- Entonces devolver solución.

- En otro caso expandir nodo.


M = profundidad máxima del árbol (puede ser infinita)

D = profundidad de la mejor solución (menor costo)

B = factor de ramificacion (numero máximo de sucesiones) = 10

DepthNodesTimeMemory
01 1 milisecond100 bytes
2111 .1 second11 Kb
411111 11 second1 Mb
61000000
18 minutos111 Mb

No hay comentarios:

Publicar un comentario