Space complexity is an amount of memory used by the algorithm (including the input values of the algorithm), to execute it completely and produce the result.
We know that to execute an algorithm it must be loaded in the main memory. The memory can be used in different forms:
- Variables (This includes the constant values and temporary values)
- Program Instruction
Auxiliary space is extra space or temporary space used by the algorithms during its execution.
Memory Usage during program execution
- Instruction Space is used to save compiled instruction in the memory.
- Environmental Stack is used to storing the addresses while a module calls another module or functions during execution.
- Data space is used to store data, variables, and constants which are stored by the program and it is updated during execution.