• Stars
    star
    5,429
  • Rank 7,249 (Top 0.2 %)
  • Language
  • License
    Other
  • Created over 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Open-Source Collection of 200+ Flash Cards to Help You Preparing Your Algorithms & Data Structures Interview πŸ’―

Note: I also released the system design version: https://github.com/teivah/designdeck, an open-source collection of 230+ flash cards.

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 via a one-time GitHub sponsorship tier for $19: ❀️ Sponsor, One-time tab, Access to the latest Anki deck version of Algo Deck tier.

Cards Index

Array

Bit

Complexity

Dynamic Programming

Encoding

General

Graph

Greedy

Hash Table

Heap

Linked List

Math

Queue

Recursion

Sort

Stack

String

Technique

Tree

More Repositories

1

100-go-mistakes

πŸ“– 100 Go Mistakes and How to Avoid Them
Go
6,128
star
2

sre-roadmap

An Opinionated Roadmap to Become an SRE (Concepts > Tools)
363
star
3

gosiris

An actor framework for Go
Go
252
star
4

designdeck

An Open-Source Collection of 230+ Flash Cards to Help You Succeed in Your System Design Interview and More πŸ’―
250
star
5

golang-good-code-bad-code

Go
158
star
6

broadcast

Notification broadcaster library
Go
145
star
7

gossip-glomers

My solutions to the Glomers Challenge: a series of distributed systems challenges.
Go
89
star
8

bitvector

Static bit vector structures library
Go
73
star
9

onecontext

Set of Go context's utilities.
Go
48
star
10

advent-of-code

πŸŽ„ My solutions to the Advents of Code, from 2015 to 2023 (450 🌟)
Go
46
star
11

goptional

A lightweight library to provide a container for optional values in golang
Go
32
star
12

go-lfu

A Go library for handling LFU cache operations in O(1)
Go
27
star
13

majorana

A RISC-V virtual processor, written in Rust.
Rust
14
star
14

talks

My public talks
10
star
15

TIBreview

Quality code review for TIBCO BusinessWorks 6
Java
9
star
16

vertx-tutorial

Vert.x tutorial
Java
9
star
17

golang-parallel-mergesort

Go
8
star
18

tourniquet

gRPC client-side load balancer
Go
8
star
19

go-cpu-caches

Assembly
7
star
20

disruptor-demo

Java
6
star
21

multilock

A Go Library to Efficiently Store a Set of Mutex or RWMutex
Go
6
star
22

reactiveWM

A reactive framework for webMethods extending standard multithreading capabilties
Java
5
star
23

rust-cheatsheet

Rust Language Cheat Sheet
Rust
5
star
24

franz

A collection of Kafka utility tools (load testing, replication)
Rust
5
star
25

generics

A collection of Go generics utilities.
Go
5
star
26

spark-hdfs-helloworld

Java
5
star
27

resequencer

Resequencer library
Go
4
star
28

parallel-mergesort

Java
4
star
29

awesome-cs

A Curated List of Awesome Computer Science Resources
3
star
30

go-bbl

Brown Bag Lunch on the Go programming language
Go
2
star
31

flogomicroservice

Example of a Flogo microservice exposing a REST API
2
star
32

docker-hadoop

Dockerfile
2
star
33

teivah

1
star