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
Depth | Nodes | Time | Memory |
---|---|---|---|
0 | 1 | 1 milisecond | 100 bytes |
2 | 111 | .1 second | 11 Kb |
4 | 11111 | 11 second | 1 Mb |
6 | 1000000 | 18 minutos | 111 Mb |
No hay comentarios:
Publicar un comentario