Space Complexity | Algorithms - Computer Science Engineering (CSE) PDF Download

What does ‘Space Complexity’ mean?

Space Complexity: The term Space Complexity is misused for Auxiliary Space at many places. Following are the correct definitions of Auxiliary Space and Space Complexity.
Auxiliary Space is the extra space or temporary space used by an algorithm.
Space Complexity of an algorithm is total space taken by the algorithm with respect to the input size. Space complexity includes both Auxiliary space and space used by input.
For example, if we want to compare standard sorting algorithms on the basis of space, then Auxiliary Space would be a better criteria than Space Complexity. Merge Sort uses O(n) auxiliary space, Insertion sort and Heap Sort use O(1) auxiliary space. Space complexity of all these sorting algorithms is O(n) though.
Space complexity is a parallel concept to time complexity. If we need to create an array of size n, this will require O(n) space. If we create a two dimensional array of size n*n, this will require O(n2) space.
In recursive calls stack space also counts.
Example:
    int add (int n){
          if (n <= 0){
            return 0;
   }
   return n + add (n - 1);
}
Here each call add a level to the stack:
1.  add(4)
2.    -> add(3)
3.      -> add(2)
4.        -> add(1)
5.          -> add(0)
Each of these calls is added to call stack and takes up actual memory. So it take O(n) space.
However just because you have n calls total doesn’t mean it takes O(n) space.
Look at the below function:
int addSequence (int n){
        int sum = 0;
        for (int i = 0; i < n; i++){
             sum+ = pairSum(i, i + 1);
        }
        return sum;
}
int paiSem(int x, int y){
         return x + y;
}
There will be roughly O(n) calls to pairSum. However, those calls do not exist simultaneously on the call stack, so you only need O(1) space.

Note: It’s necessary to mention that space complexity depends on a variety of things such as the programming language, the compiler, or even the machine running the algorithm.

The document Space Complexity | Algorithms - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Algorithms.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
81 videos|80 docs|33 tests

Top Courses for Computer Science Engineering (CSE)

81 videos|80 docs|33 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Previous Year Questions with Solutions

,

Semester Notes

,

mock tests for examination

,

ppt

,

Important questions

,

video lectures

,

past year papers

,

Exam

,

Objective type Questions

,

Space Complexity | Algorithms - Computer Science Engineering (CSE)

,

pdf

,

Free

,

Sample Paper

,

study material

,

practice quizzes

,

shortcuts and tricks

,

Summary

,

Extra Questions

,

Space Complexity | Algorithms - Computer Science Engineering (CSE)

,

Space Complexity | Algorithms - Computer Science Engineering (CSE)

,

Viva Questions

,

MCQs

;