/CheatSheet_AlgoDS

Basic C++11 algorithms and data structures (Cheat Sheet)

Primary LanguageC++

Algorithms and Data Structures Cheat Sheet

Tired and afraid of having to read thick books on how to prepare for coding interviews?

This repo holds a good starting point of common coding problems asked during technical interviews.

Small, simple, fast and right to the important parts (as long as you have a basic background on algorithms, data structures and C++).

How to compile a file

Code uses some C++11 features. In case you forgot, to compile a file you have to execute something like this:

g++ -std=c++11 trees.cpp -o trees
./trees

Suggested study order

Study and check the source code of the files using this suggested order:

  1. arrays.cpp
  2. strings.cpp
  3. bits.cpp
  4. stacks.cpp
  5. trees.cpp
  6. lists.cpp
  7. search_sort.cpp -includes binary heaps-
  8. graphs.cpp
  9. backtrack.cpp
  10. dynamicprogramming.cpp

Extra

For system-design questions, check these github repos:

  1. https://github.com/donnemartin/system-design-primer#system-design-topics-start-here
  2. https://github.com/checkcheckzz/system-design-interview

Then, study some interesting design problem questions like:

  1. Pastebin design
  2. Twitter timeline and search
  3. Amazon sales rank
  4. Google Analytics
  5. Google Docs