by BehindJava

What is an Algorithm

Home » datastructures » What is an Algorithm

In this blog, we are going to learn about Algorithm in Data Structures.


An algorithm is a sequence of unambiguous instructions for solving a problem, i.e., for obtaining a required output for any legitimate input in a finite amount of time.

  • Can be represented various forms.
  • Un-Ambiguity/clearness.
  • Effectiveness.
  • Finiteness/termination.
  • Correctness.


Two main issues related to algorithms

  1. How to design algorithms
  2. How to analyze algorithm efficiency

Algorithm design techniques/strategies

  1. Brute force
  2. Divide and conquer
  3. Decrease and conquer
  4. Transform and conquer
  5. Space and time tradeoffs
  6. Greedy approach
  7. Dynamic programming
  8. Iterative improvement
  9. Backtracking
  10. Branch and bound