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