Introduction to Algorithm

·

2 min read

Algorithm

An Algorithm is any well-defined computational procedure or instructions that takes some input and produces some output.

An algorithm is a step-by-step procedure to solve computational problems. It can be written in any comfortable language. It is a pseudo code of the actual program/code. Algorithms are written before actual coding.

What kind of problems are solved by Algorithms?

  • Sorting
  • Searching
  • Finding the Shortest Path
  • Making Coin Change
  • Minimum cost Matrix Multiplications
  • And more

Characteristics of Algorithm

Input: An Algorithm can take zero(0) or more inputs.

Output: It must give at least one(1) or more outputs/results.

Definiteness: Every statement must be clear and unambiguous.

Finiteness: Algorithm must terminate at some point.

Effectiveness: It should not have any unnecessary steps.

Which are the techniques used in Algorithms?

Divide & Conquer, Greedy Methods, Dynamic Programming, etc.

In Computer Science, algorithmic efficiency is a property of an algorithm that describes the number of computational resources used by the Algorithm.

Time Complexity

Time complexity is a function that shows the amount of time an algorithm takes in terms of the amount of input to the algorithm.

Space Complexity

Space complexity is a function that shows the amount of space(memory) an Algorithm takes in terms of the amount of input to the algorithm.

Best Case

In the Best Case Analysis, we calculate a lower bound on the running time of an algorithm.

Worst Case

The worst-case time analysis of the Algorithm is the longest-running time for any input of size n.