If the correct language is the heart of the program then the right algorithm is the brain of the program. Algorithm ,is a fancy word and refers to the underlying logic of your programs. Algorithm range from simple addition program to High level AI like Google assistant and Siri. Now an algorithm can be expressed in two ways:
1.Flowcharts – A visual approach to writing logic. Can be used for any situation/problem and are much more fun to work with.
2. Pseudocodes – A more code based approach. It is a code independent of language and is majorly used for computer based implementation to analyse the time-complexity and efficiency of the implementation.
After you become comfortable with codes and language, it will be the algorithm that decide the practicality and feasibility of your program in real life implementation. Coding is an expression, language a tool but what matters is the algorithm(aka logic). After all its about problem solving.
Competitive coding comes into the play. It not only improves your command on language but also improves your debugging and logic reasoning. You even learn about more advanced and highly efficient alternatives for same problem . We will talk about them in later posts.