It's really important to understand the real-world significance of algorithms and its properties because using different ideas one can design many algorithms for computing a solution to a given problem. Key important questions in algorithms are :

  • How do we design good algorithms?
  • How do we know that our algorithm is efficient ?
  • How to efficiently implement algorithms in a programming language?
Interviewer often checks your ideas and coding skills by asking you to write a code giving restrictions on its time or space complexities.
  • Performance comparison of algorithms: We Compare the performance of different algorithms and choose the best one to solve a particular problem. We also analyse how well our code will perform with respect to large input size of data.
  • Key terms to understand : Input size, Running time, Correctness, Big-O notation, Worst and Average case analysis, Time Complexity, Space Complexity