Relation of time and space complexities of an algorithm, Data Structure & Algorithms

Assignment Help:

What is complexity of an algorithm? What is the basic relation between the time and space complexities of an algorithm? Justify your answer by giving an example.                         

Complexity of an algorithm is the measure of analysis of the algorithm. Analyzing an Algorithm means predicting the resources that the algorithm needs such as memory, communication bandwidth, time and logic gates. Most often it is computational or calculation time that is measured for finding a more suitable algorithm. This is called as time complexity of the algorithm.  The running time of a program is described or defined as a function of the size of its  input. On a specific input, it is traditionally measured as the number of primitive operations or steps executed.

The analysis of algorithm focuses on time complexity and space complexity both. As compared to time analysis, the analysis of space requirement for an algorithm is generally easier and faster, but wherever necessary, both the techniques can be used. The space is referred to as storage needed in addition to the space required storing the input data.  The amount of memory needed by the program to run to completion is referred to as space complexity. For an algorithm, time complexity depends only upon the size of the input, thus, it is a function of input size 'n'. So the amount of time required by an algorithm to run to its completion is referred as time complexity.

The best algorithm to solve a given problem is the one that requires less memory and takes less time to complete its execution of the algorithm. But in practice it is not always likely to achieve both of these objectives. There may be number of approaches to solve a same problem. One such approach may require more space but takes less time to complete its execution while on other hand the other approach requires less space but

more time to complete its execution. Thus we may have to compromise one thing to improve the other. That is, we may be able to reduce space requirement by increasing running time or we can reduce running time by allocating more memory space. This situation where we compromise one to improve the other is known as Time-space trade off.

 


Related Discussions:- Relation of time and space complexities of an algorithm

Lists, In the previous unit, we have discussed arrays. Arrays are data stru...

In the previous unit, we have discussed arrays. Arrays are data structures of fixed size. Insertion and deletion involves reshuffling of array elements. Thus, array manipulation

Define the internal path length, Define the Internal Path Length The In...

Define the Internal Path Length The Internal Path Length I of an extended binary tree is explained as the sum of the lengths of the paths taken over all internal nodes- from th

Big o notation, This notation gives an upper bound for a function to within...

This notation gives an upper bound for a function to within a constant factor. Given Figure illustrates the plot of f(n) = O(g(n)) depend on big O notation. We write f(n) = O(g(n))

2 Flow Charts, 1.Create a flowchart to show the process that will allow the...

1.Create a flowchart to show the process that will allow the implementation of Stack, Push, and Pop operations. 2.Create a flowchart to show the process that will allow the impleme

Explain the array and linked list implementation of stack, Question 1. ...

Question 1. How can you find out the end of a String? Write an algorithm to find out the substring of a string. 2. Explain the insertion and deletion operation of linked lis

Dqueue, algorithm of output restricted queue.

algorithm of output restricted queue.

Decision tree, . Create a decision table that describes the movement of inv...

. Create a decision table that describes the movement of inventory

Spanning trees, Spanning Trees: A spanning tree of a graph, G, refer to a ...

Spanning Trees: A spanning tree of a graph, G, refer to a set of |V|-1 edges which connect all vertices of the graph. There are different representations of a graph. They are f

What is binary search, What is binary search?   Binary search is most ...

What is binary search?   Binary search is most useful when list is sorted. In binary search, element present in middle of the list is determined. If key (the number to search)

Binry trees, Build a class ?Node?. It should have a ?value? that it stores ...

Build a class ?Node?. It should have a ?value? that it stores and also links to its parent and children (if they exist). Build getters and setters for it (e.g. parent node, child n

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd