• Stars
    star
    5,600
  • Rank 7,295 (Top 0.2 %)
  • Language
  • License
    Other
  • Created almost 5 years ago
  • Updated over 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,771
star
2

sre-roadmap

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

designdeck

An Open-Source Collection of 230+ Flash Cards to Help You Succeed in Your System Design Interview and More 💯
328
star
4

gosiris

An actor framework for Go
Go
252
star
5

golang-good-code-bad-code

Go
160
star
6

broadcast

Notification broadcaster library
Go
152
star
7

gossip-glomers

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

bitvector

Static bit vector structures library
Go
73
star
9

onecontext

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

advent-of-code

🎄 My solutions to the Advents of Code, from 2015 to 2023 (450 🌟)
Go
50
star
11

go-lfu

A Go library for handling LFU cache operations in O(1)
Go
40
star
12

goptional

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

majorana

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

ettore

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

talks

My public talks
10
star
16

TIBreview

Quality code review for TIBCO BusinessWorks 6
Java
9
star
17

vertx-tutorial

Vert.x tutorial
Java
9
star
18

golang-parallel-mergesort

Go
8
star
19

tourniquet

gRPC client-side load balancer
Go
8
star
20

go-cpu-caches

Assembly
7
star
21

multilock

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

disruptor-demo

Java
6
star
23

rust-cheatsheet

Rust Language Cheat Sheet
Rust
6
star
24

franz

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

reactiveWM

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

generics

A collection of Go generics utilities.
Go
5
star
27

spark-hdfs-helloworld

Java
5
star
28

resequencer

Resequencer library
Go
4
star
29

parallel-mergesort

Java
4
star
30

awesome-cs

A Curated List of Awesome Computer Science Resources
3
star
31

go-bbl

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

flogomicroservice

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

docker-hadoop

Dockerfile
2
star
34

teivah

1
star