Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 3.28 KB

algorithms_study_resources.md

File metadata and controls

38 lines (27 loc) · 3.28 KB

Resources to learn Algorithms and Problem Solving using Data Structures and Algorithms

If you would like to learn more about algorithms or practice them, then read on.

Resources

Some Videos and Reviews that We Made

Practice

  • HackerRank - to practice solving algorithmic problems in Java, Python, C++ - has an in-built IDE
  • InterviewCake - for currently popular interview questions and answers. You do not have to write any code to see hints to the solution. After a limited number of free questions, you will have to sign up/pay. But it's a great resource anyways, and you can sign up for a question/week for free.
  • Project Euler - for more mathematical problems to practice on. Solution explanations are provided after submitting the correct answer (not code)
  • CodingBat for Recursion - to sink your teeth into simple recursion problems that build up to be more and more difficult. IDE is built in, all in Java. There's also a second part to this.
  • Google Code Jam past competition problems - a nice set of problems that have been used in competitions previously.

Language Specific

  • Python - a really good resource to learn how to work with data structures and algorithms in Python.

Visualizations

  • Sorting Algorithms - visualizations and code in psuedo code, but easily adatpable to Python and Java for all the most common sorting algorithms.
  • Visualgo - a nice way to visualize algorithms

Competitions

  • ACM-ICPC - ACM-ICPC hosts coding competitions that may be found here
  • TopCoder (advanced) - more difficult and challenging algorithmic problems may be found here
  • Google Code Jam - Google hosts a Code Jam every year with Qualification rounds in April. They also hosted a Code Jam exclusively for women, with winners going to Google I/O. They also have a code practice area if you don't want to compete

Books

  • Programming Interviews Exposed - A really good book that explains the process of writing a solution and then optimizing parts of the solution with goog explanations about why that particular optimization is being done. Solutions in Java
  • Cracking the Coding Interview - A good book to practice questions and answers from with solutions in Java. This is better after you have a bit more practice, as it contains solutions and optimizations but doesn't hold your hand up to the optimizations.