Skip to main content
CourseintermediateFree

Introduction to Algorithms (MIT 6.006)

by Erik Demaine, Jason Ku, Justin Solomon · MIT OpenCourseWare

Modeling computational problems and solving them with core algorithms and data structures: sorting, hashing, binary trees, heaps, graph search, shortest paths and dynamic programming. 32 lecture videos, notes, problem sets and exams with solutions teach asymptotic analysis and algorithm design.

Visit resource

More resources on Algorithm Complexity

CourseFree

Algorithms, Part I

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms. All the features of this course are available for free. People who are interested in digging deeper into the content may wish to obtain the textbook Algorithms, Fourth Edition (upon which the course is based) or visit the website algs4.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion.

WebsiteFree

bigocheatsheet.com

Big O Cheat Sheet is a quick-reference guide that lists Big-O time and space complexities for common data structures and algorithms. It provides concise, table-form lookup for operations across arrays, linked lists, stacks, queues, trees, graphs, and standard algorithms like sorting and searching.

VideoFree

Big O Notations

Derek Banas explains how algorithm running time grows with input size, walking through constant, linear, quadratic, logarithmic and linearithmic examples in Java code. Viewers finish able to read Big O notation and classify simple loops and sorting routines.

WebsiteFree

Complexity Zoo

Wiki catalogue of over five hundred computational complexity classes, each with a formal definition, known inclusions and references. Useful for checking what a class such as BPP or PH means and how it relates to others.

WebsiteFree

Visualgo

Interactive visualizations of data structures and algorithms built by Steven Halim at the National University of Singapore, animating sorting, trees, graphs, and shortest paths step by step so learners can trace how each algorithm changes state.

VideoFree

Algorithms Course by Abdul Bari

Opening lecture of Abdul Bari's algorithms series, distinguishing an algorithm from a program, listing the properties every algorithm must satisfy, and outlining the time and space criteria used to compare competing solutions to the same problem.

See all Algorithm Complexity resources →