What is an algorithm?
- An established sequence of programming logic (i.e instructions) aimed at solving a computational problem.
What is the need for learning an algorithm?
- There is no need; one can invent one’s own technique for solving a computational problem. But if you want to solve a computational problem efficiently you could use an algorithm aimed at solving the same.
Do you apply algorithms in day-to-day life for developing software?
- Depends on the kind of work that you are doing. But I would rather learn an algorithm and not use it because it is not needed than not knowing it at all when it is needed.
Do you apply algorithms when you are not developing software?
- There is a world of competitive / sports programming where the participants use algorithms to solve programming challenges for kicks.
- Check topcoder.com, codeforces.com, spoj.com etc..
There are so many algorithms to learn, which one should I learn first?
- Sorting and searching algorithms are some of the simpler ones. There are easy to learn and easy to apply for solving
sorting and searching problem.
- Graph and tree traversal algorithms like Depth-First-Search and Breadth-First-Search are easy and fun to learn too.
How do I know which algorithm should be used for solving a computational problem?
- With a little bit of practice solving simple computational problems, you get the idea of the algorithm that could be used.
What programming languagues should I learn before learning algorithms?
- C++, Java & Python are some of the preferred programming languages that make it easy to apply an algorithm for solving a programming problem. But there are many other programming language that one could use like C, Go, Kotlin, Php, C-Sharp, etc..