Skip to content

shiloholotu/algosavvy

Repository files navigation

algosavvy

A Free and Open Source resource for diving deep into data structures and algorithms.

Howdy👋! AlgoSavvy is a free online open-source resource that provides a variety of tutorials and game modes to help you understand a wide range data structures and algorithms. The different concepts addressed in this guide are invaluable for coding interviews, competitive programming, writing clean and effective code, and more!

Learning on AlgoSavvy

AlgoSavvy provides an expansive list of tutorials explaining a variety of data structures and algorithms. The tutorials are divided into:

  • Introduction: These tutorials introduce readers to fundamental ideas needed to dive into the actual content, such as what languages to pick.

  • Easy: These tutorials teach readers about basic algorithms and data structures, such as arrays and simple sorting techniques, which will serve as the basis of more advanced concepts.

  • Medium: These tutorials teach readers about common, more advanced algorithms and data structures, such as binary search and dynamic programming, which one would expect to see in a medium level coding interview or CP competition.

  • Hard: These tutorials teach slightly less common and more difficult algorithms and data structures, such as convex hulls and tabulation, which are usually found in higher level CP competitions.

  • Advanced: These tutorials cover highly advanced and specific algorithms and data structures, such as tries and persistent data structures, which are usually found in higher level CP competitions. It's hard to predict where these sort of concepts will show up, so keep in mind that this resource cannot serve as a complete one-stop-shop for everything at this level.

Playing on AlgoSavvy

AlgoSavvy has 4 built in game modes: Solution Search, Method Madness, Time Crunch, and Error Blitz. While Error Blitz trains users in writing clean code and catching errors, the remaining 3 modes are less focused on actually coding skill and more on overall problem solving.

  • Solution Search: Given a problem statement, write out a solution in plain English

  • Method Madness: Given a problem statement, determine which algorithm/data structure is needed for the most efficient solution

  • Time Crunch: Given a problem statement and its solution, determine the time complexity of the described solution

  • Error Blitz: Given an incorrect code snippet(C++), describe the mistake

Other Amazing Resources!

  • USACO - The United States of America Computing Olympiad; hosts various competitions every year for multiple skill levels
  • USACO Guide - An expansive roadmap which teaches the different skills and concepts needed to succeed at each level of USACO
  • CodeChef - An education platform for competitive programming which holds competitions and contains interactive learning courses
  • CodeForces - A well established host for competitive programming competitions, backed by a thriving community of all skill levels
  • HackerRank - A platform of coding challenges and interview prep for a wide variety of languages and topics
  • Sololearn - A series of courses aimed at teaching users various programming languages

About

A free, online, open-source resource that provides a variety of tutorials and game modes to help you understand a wide range data structures and algorithms.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published