Skip to content
An Open-Source Collection of +200 Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview πŸ’―
Branch: master
Clone or download

Latest commit

teivah Merge pull request #8 from yuanworks/patch-1
Uniform variable names (hi and lo) on code snippet
Latest commit ff9ae8b Feb 5, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
res Flashcard example Feb 4, 2020
README.md Flashcard example Feb 4, 2020
array.md Uniform variable names (hi and lo) on code snippet Feb 5, 2020
bit.md Fixing checkExactlyOneBitSet Feb 1, 2020
complexity.md Tree Feb 1, 2020
dynamicprogramming.md Readme Feb 1, 2020
encoding.md Typo Feb 1, 2020
general.md General Feb 1, 2020
graph.md Readme Feb 1, 2020
greedy.md Greedy Feb 1, 2020
hashtable.md Hashtable Feb 1, 2020
heap.md Fixing tag Feb 2, 2020
linkedlist.md Linked list Feb 1, 2020
math.md Math Feb 1, 2020
queue.md Queue Feb 1, 2020
recursion.md Recursion Feb 1, 2020
sort.md Sort Feb 1, 2020
stack.md Stack Feb 1, 2020
string.md String Feb 1, 2020
technique.md Technique Feb 1, 2020
tree.md Update tree.md Feb 1, 2020

README.md

Overview

Algo Deck is an open-source collection of +200 algorithmic flash cards.

It helps you preparing and succeeding in your algorithm & data structure interview. The code examples are in Java.

The topics covered are the following:

  • Array: reversing an array, finding a pivot, handling a dynamic array, etc.
  • Bit: operators, bit manipulation, etc.
  • Complexity: algorithm & data structures complexity
  • Dynamic Programming: dynamic programming concept
  • Encoding: encoding theory
  • General: general knowledge including how to approach a problem or testing a first solution
  • Graph: A*, Dijkstra, BFS vs DFS, cycles detection, topological sort, etc.
  • Greedy: greedy algorithms concepts
  • Hash Table: hashtable data structure
  • Heap: heap data structure including min-heap/max heap, binary heap use cases, etc.
  • Linked List: linked list data structure, how to get the middle element, iterate over two lists, doubly linked list, etc.
  • Math: discrete math
  • Queue: queue data structure
  • Recursion: recursion concepts
  • Sort: sort algorithms including concepts, complexity, use cases, etc.
  • Stack: stack data structure
  • String: string permutation, rotation, rabin-karp substring search, etc.
  • Technique: most important techniques to master to solve algorithmic problems including greedy techniques, runner, sliding window, etc.
  • Tree: binary tree use cases, binary search tree, 2-3 tree, red-black tree, use cases, etc.

Anki Deck

Anki is a free software (Windows/Mac/Linux/iPhone/Android) which makes remembering things easy. It utilizes spaced repetition which is a proven technique to increase the rate of memorization:

Spaced Repetition: The most powerful study technique on YouTube

The single biggest change that Anki brings about is that it means memory is no longer a haphazard event, to be left to chance. Rather, it guarantees I will remember something, with minimal effort. That is, Anki makes memory a choice.

Michael A. Nielsen, "Augmenting Long-term Memory"

Using Anki is a great way to prepare your algorithm & data structure interview. Here is a flashcard example:

The Anki version (a clone of the +200 flashcards from this repo) is available for $14.99:

paypal

Cards Index

Array

Bit

Complexity

Dynamic Programming

Encoding

General

Graph

Greedy

Hash Table

Heap

Linked List

Math

Queue

Recursion

Sort

Stack

String

Technique

Tree

Buy Me A Coffee

You can’t perform that action at this time.