Algorithm and Data Structure Resources

Published: 01 Jul 2015 Category: algorithm_and_data_structure


Courses with Video Lectures

Stanford CS243: Program Analysis and Optimization

CMU 15-814: Types and Programming Languages

MIT: Introduction to Algorithms

Princeton Computer Science 521: Advanced Algorithm Design

MIT: 6.006 Introduction to Algorithms

Datastructures and Algorithms (at Amsterdam University College) 2015-2016

MIT 6.851: Advanced Data Structures

MIT 6.046J: Design and Analysis of Algorithms (Spring 2015)

Stanford CS243: Program Analysis and Optimization

MIT: Introduction to Algorithms

(edX) Algorithms: Learn how to structure and use algorithms to solve real life problems.

(Coursera) Master Algorithmic Programming Techniques

  • intro: Learn algorithms through programming and advance your software engineering or data science career
  • intro: Algorithmic Toolbox, Data Structures, Algorithms on Graphs, Algorithms on Strings, Advanced Algorithms and Complexity, Genome Assembly Programming Challenge
  • course-page:


The JPS Pathfinding System

JPS+: Over 100x Faster than A

Programming Contest

Stanford: CS 97SI: Introduction to Programming Contests

Stanford ACM-ICPC related materials

The Art of Programming Contest

The Hitchhiker’s Guide to the Programming Contest

Competitive Programmer’s Handbook


Know Thy Complexities!

Visualizing Algorithms

Implementations of Algorithms & Datastructures from a Geek’s Viewpoint

Z algorithm

Problem Solving with Algorithms and Data Structures (interactive Python online book)

Visualizing Algorithms

The missing method: Deleting from Okasaki’s red-black trees

Fast Forward Labs: Probabilistic Data Structure Showdown: Cuckoo Filters vs. Bloom Filters

Data Structures Related to Machine Learning Algorithms

Using Self-Organizing Maps to solve the Traveling Salesman Problem


Visualisation of A* path-finding algorithm in a maze

Red Blob Games


Bloofi: A java implementation of multidimensional Bloom filters

PathFinding.js: A comprehensive path-finding library for grid based games


Algorithm Visualizer

Visualizing String Matching

Visualization of Sort Algorithms

Red/Black Tree Demonstration


The Algorithm Design Manual, 2nd Edition

Solutions to Introduction to Algorithms

Big-O Poster: Big-O Complexities / Poster of common algorithms used in Computer Science

Reading and Questions

What are the lesser known but useful data structures?