Basic Algorithm Techniques Not Taught in Academics

We generally study most of the algorithmic techniques in academics like Searching, Sorting, Dynamic Programming, Greedy Algorithms, Divide and Conquer, Backtracking, etc. But below techniques are generally not taught and used a lot to solve questions in interviews and competitive programming.



Prefix Sum Technique


In this technique we preprocess the array and make another array called prefix sum array. Prefix sum array computes sum of elements from index 0 to current index.

Important Links :
Practice Problems on Prefix Sum
Recent Articles on Prefix Sum

Two Pointer Algorithm


Two pointers is really an easy and effective technique which is typically used for searching pairs in a sorted array.

Important Links :
Recent Articles on Two Pointer
Practice Problems on Two Pointer

Window Sliding Technique


This technique shows how a nested for loop in some problems can be converted to a single for loop to reduce the time complexity.

Important Links :
Practice Problems on Sliding Window
Recent Articles on Window Sliding

Apart from these STL in C++ and Collection in Java are not taught in academics and these are super important if your program in C++ and Java respectively.

BONUS TIP: Whenever you solve a problem, make sure that you analyze it properly. Here, the Analysis not something about its efficiency, “it’s about finding a pattern in a problem .” Have a practice of grouping problems under a category of pattern will make you better. This is because when you look at a similar problem again, your brain identifies the pattern instantly and just picks it up and gives it you. This seems to be quick and makes you feel a bit confident too.. Happy coding!!!

competitive-programming-img

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.