0% found this document useful (0 votes)
5 views2 pages

Algo Lec 4

Algorithm analysis can be conducted through a priori and a posteriori methods, focusing on theoretical and empirical evaluations of efficiency, respectively. Key factors in algorithm complexity include time and space, with time measured by key operations and space by memory requirements. The space complexity is defined as the sum of fixed and variable components, while time complexity is represented as a function of the number of steps required for completion.

Uploaded by

Azharr Nawaz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views2 pages

Algo Lec 4

Algorithm analysis can be conducted through a priori and a posteriori methods, focusing on theoretical and empirical evaluations of efficiency, respectively. Key factors in algorithm complexity include time and space, with time measured by key operations and space by memory requirements. The space complexity is defined as the sum of fixed and variable components, while time complexity is represented as a function of the number of steps required for completion.

Uploaded by

Azharr Nawaz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Algorithm Analysis

Efficiency of an algorithm can be analyzed at two different stages,


before implementation and after implementation. They are the
following −
 A Priori Analysis − This is a theoretical analysis of an
algorithm. Efficiency of an algorithm is measured by assuming
that all other factors, for example, processor speed, are
constant and have no effect on the implementation.
 A Posterior Analysis − This is an empirical analysis of an
algorithm. The selected algorithm is implemented using
programming language. This is then executed on target
computer machine. In this analysis, actual statistics like
running time and space required, are collected.
We shall learn about a priori algorithm analysis. Algorithm analysis
deals with the execution or running time of various operations
involved. The running time of an operation can be defined as the
number of computer instructions executed per operation.
Algorithm Complexity
Suppose X is an algorithm and n is the size of input data, the time
and space used by the algorithm X are the two main factors, which
decide the efficiency of X.
 Time Factor − Time is measured by counting the number of
key operations such as comparisons in the sorting algorithm.
 Space Factor − Space is measured by counting the maximum
memory space required by the algorithm.
The complexity of an algorithm f(n) gives the running time and/or
the storage space required by the algorithm in terms of n as the size
of input data.
Space Complexity
Space complexity of an algorithm represents the amount of memory
space required by the algorithm in its life cycle. The space required
by an algorithm is equal to the sum of the following two components

 A fixed part that is a space required to store certain data and
variables, that are independent of the size of the problem. For
example, simple variables and constants used, program size,
etc.
 A variable part is a space required by variables, whose size
depends on the size of the problem. For example, dynamic
memory allocation, recursion stack space, etc.
Space complexity S(P) of any algorithm P is S(P) = C + SP(I), where
C is the fixed part and S(I) is the variable part of the algorithm,
which depends on instance characteristic I. Following is a simple
example that tries to explain the concept −
Algorithm: SUM(A, B)
Step 1 - START
Step 2 - C ← A + B + 10
Step 3 - Stop
Here we have three variables A, B, and C and one constant. Hence
S(P) = 1 + 3. Now, space depends on data types of given variables
and constant types and it will be multiplied accordingly.
Time Complexity
Time complexity of an algorithm represents the amount of time
required by the algorithm to run to completion. Time requirements
can be defined as a numerical function T(n), where T(n) can be
measured as the number of steps, provided each step consumes
constant time.

Consequently, the total computational time is T(n) = c ∗ n, where c


For example, addition of two n-bit integers takes n steps.

is the time taken for the addition of two bits. Here, we observe that
T(n) grows linearly as the input size increases.

You might also like