Pewarta Proxy

๐Ÿ“‹ Server Request & Proxy Logs

Loading active proxy settings...
Developed by Khairul Adha (adhexa.id)
Mengambil log server...

โš™๏ธ Pengaturan Proxy Target

Skip to content

About

A curated list of courses, online judges, visualizations, books and competitions for learning and practicing algorithms. English and Korean.

Topics

Resources

Code of conduct

Contributing

Stars

908 stars

Watchers

21 watching

Forks

Latest commit

ย 

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Awesome Algorithms Education Awesome

A curated list of courses, online judges, visualizations, books and competitions for learning and practicing algorithms.

Every entry is free to read or use unless marked as paid, and Korean-language resources are tagged so that both English and Korean learners can find what fits them. For implementations and contest-specific material, see Awesome Competitive Programming and Awesome Algorithms.

If you want to contribute, please read the contribution guidelines.

English | ํ•œ๊ตญ์–ด

Contents

Courses

Introductory

  • Algorithms - Khan Academy / Free unit co-written with Thomas Cormen; articles and JavaScript challenges on sorting, recursion and graphs.
  • DSA Tutorial - Geeks for Geeks / Free roadmap of articles and practice problems from arrays and sorting to graphs, DP and segment trees.
  • Algorithm course for smart programming - Korean / Inflearn / Free 55-lecture course by Prof. Oheum Kwon on recursion, sorting, trees, hashing, graphs and DP.

Intermediate

  • Algorithms and Data Structures - Class Central / Searchable catalog of hundreds of free and paid online courses on the subject, with reviews.
  • Algorithms - edX(IITBombay) / Six-week course on sorting, order statistics, string, geometric and graph algorithms; free to audit.
  • Intro to Algorithms - Udacity / Free self-paced course by Michael Littman that teaches graph algorithms and growth rates through social-network analysis.
  • Introduction to Algorithms, 2020 - MIT OCW / Undergraduate 6.006 by Demaine, Ku and Solomon; lecture videos, notes, problem sets and exams with solutions.
  • Design and Analysis of Algorithms, 2015 - MIT OCW / Undergraduate 6.046J on divide and conquer, DP, randomization and complexity; videos, notes and exams.
  • Introduction to Algorithms, 2011 - MIT OCW / Earlier run of 6.006 by Demaine and Devadas; lecture and recitation videos, notes, Python assignments and exams.
  • Classes and Teaching by Erik Demaine - MIT(Lecture notes) / Index of Erik Demaine's courses such as 6.006, 6.046 and 6.851, with lecture videos and notes.
  • Efficient Algorithms and Intractable Problems, 2001 - UC Berkeley(Lecture notes) / CS 170 by Demmel and Shewchuk; notes and homework on graphs, DP, network flow and NP-completeness.
  • Data Structures, 2014 - UC Berkeley(Lecture notes) / CS 61B by Jonathan Shewchuk; Java-based notes, videos, labs and projects on core data structures.
  • Algorithms, Part I - Coursera(Princeton University) / Sedgewick and Wayne's free Java course on sorting, searching and elementary data structures.
  • Algorithms, Part II - Coursera(Princeton University) / Sedgewick and Wayne's free Java course on graph and string algorithms, compression and intractability.
  • USACO Guide - Free structured curriculum for competitive programming, from Bronze to Platinum.

Advanced

  • Data Structures and Algorithms - Paid Content. / Harvard University / Extension School course by Michael Mitzenmacher on graph, approximation and randomized algorithms.
  • Algorithms Specialization - Paid Content. / Coursera(Stanford University) / Tim Roughgarden's four-course series on divide and conquer, graphs, greedy, DP and NP-completeness.

Competitive programming

  • HackerRank - Algorithm practice track with problems grouped by topic, from warmup to dynamic programming.
  • Codility - Free lessons with practice tasks on time complexity, prefix sums, sorting and more.
  • Topcoder - Long-running Single Round Matches (SRMs) with a problem archive and editorials.
  • Codewars - Community-made kata for practicing in over 55 programming languages.
  • CodeChef - Practice problems and regular rated contests.
  • Codeforces - English, Russian / Rated rounds about once a week plus Educational rounds, a large problem archive and community blogs.
  • AtCoder - English, Japanese / Weekly Beginner Contests plus Regular, Grand and Heuristic contests, run by AtCoder Inc. in Japan.
  • UVa Online Judge - Classic problem archive with the uHunt progress tracker and the ICPC Live Archive.
  • ICPC Problem Archive - Kattis / Problems from recent ICPC World Finals, grouped by difficulty and judged on Kattis.
  • CS Academy - English, Russian, Arabic / Timed rounds with dynamic scoring plus built-in tools such as a graph editor and geometry tool.
  • CSES Problem Set - Problem collection grouped by topic, from introductory problems to advanced techniques.
  • Coderbyte - Coding challenges with video solutions; now primarily a candidate assessment platform.
  • HackerEarth - Practice section for basic programming, data structures, algorithms and math, alongside hiring assessments.
  • Infoarena - Romanian / Community judge with main, educational, monthly and ACM archives, contests and ratings.
  • Kattis - Problem archive with thousands of problems and difficulty scores.
  • Learneroo Algorithms Tutorials - Tutorials that teach algorithms and data structures by solving challenges.
  • LeetCode - English, Chinese / Interview-style problem bank tagged by topic and difficulty, with weekly and biweekly contests.
  • Rosalind - Bioinformatics and programming problems, starting with a Python Village for beginners.
  • Snakify - Python 3 course for beginners with over 100 exercises.
  • Sphere Online Judge (SPOJ) - Large archive of classical problems with support for many programming languages.
  • beecrowd - English, Spanish, Brazilian Portuguese / Large problem archive with contests, formerly URI Online Judge.
  • PKU JudgeOnline - English, Chinese / Peking University judge with a large archive drawn from regional contests, plus monthly contests.
  • Aizu Online Judge - English, Japanese / Free judge run by the University of Aizu with over 2,000 problems from ICPC, JOI, PCK and introductory courses.
  • Project Euler - Mathematical problems that need both insight and programming to solve.
  • Advent of Code - Annual December puzzle calendar with a new problem each day.
  • Project Euler @kr - Korean / Translation of the Project Euler problems.
  • Baekjoon - Korean / The most widely used Korean online judge.
  • solved.ac - Korean / Difficulty tiers and problem recommendations for Baekjoon.
  • Algospot - Korean / Online judge and community run by the author of Algorithmic Problem Solving Strategies.
  • JUNGOL - Korean / Online judge for Korea Olympiad in Informatics preparation.
  • Koistudy - Korean / Online judge with problem sets sorted by algorithm and tier, plus contests.
  • CodeUp - Korean / Online judge aimed at programming beginners.
  • Codingdojang - Korean / Problem-solving practice site for sharpening coding skills.
  • Programmers - Korean / Coding test practice problems for job preparation.
  • Codeground - English, Korean / Samsung-run platform with practice problems, user-created OpenRound contests and the SCPC collegiate contest.
  • SW Expert Academy - Korean / Samsung's learning platform with problems and courses for software skills.

Visualizations

  • Algorithm Visualizer - Interactive platform that visualizes algorithms from code.
  • A Visual Guide to Graph Traversal Algorithms - Interactive DFS and BFS explanations by Workshape.io.
  • VisuAlgo - English, Chinese, Indonesian / Animated visualizations of 24 data structure and algorithm modules with quizzes, by Steven Halim of NUS.
  • Algorithms Visualization - Mike Bostock's essay on visualizing sampling, shuffling, sorting and maze generation.
  • Data Structure Visualizations - Interactive animations by David Galles, University of San Francisco.
  • Sorting Algorithms Animations - Side-by-side animations comparing sorting algorithms, hosted by Toptal.
  • Path Finding - Interactive grid demo of A*, Dijkstra, BFS, Jump Point Search and other pathfinding algorithms.
  • Introduction to the A* Algorithm - Red Blob Games / Interactive tutorial by Amit Patel that builds A* up from breadth-first search, Dijkstra and greedy best-first.
  • Python Tutor - Step-by-step visual execution of Python, JavaScript, C, C++ and Java code.
  • Algorithm Wiki by Will Thimbleby - Interactive wiki whose visualisations run from real JavaScript implementations.
  • TensorFlow Playground - Browser demo for tinkering with a small neural network.
  • Algovis - Curated list by enjalot of algorithm-visualization projects and tools such as Tailspin, Vamonos and Tangle.
  • Vamonos - JavaScript Programming Language / Oregon State library for browser visualizations of array and graph algorithms with breakpoints and step-back.
  • The Sound of Sorting - C ++ Programming Language / Timo Bingmann's demo that draws and plays a tone for each comparison across dozens of sorting algorithms.

Interviews

Videos

  • How algorithms shape our world - Kevin Slavin / 2011 TED talk on how trading, espionage and recommendation algorithms shape everyday life.
  • Algorithms - Abdul Bari / 84 beginner lectures from complexity analysis through divide and conquer, greedy and dynamic programming.
  • Algorithms - Oresoft LWC / About 100 short beginner videos by Omkar Deshpande on asymptotic notation, sorting, searching and GATE problems.
  • Computer Sc - Programming and Data Structure - Nptelhrd / 32 IIT Kharagpur lectures by P.P. Chakraborty on C programming, recursion, linked lists, trees and graphs.
  • Introduction to Algorithms, 2020 - MIT 6.006 / 32 undergraduate lectures and problem sessions by Demaine, Ku and Solomon on sorting, trees, graphs and DP.
  • Design and Analysis of Algorithms, 2015 - MIT 6.046J / 34 advanced lectures and recitations by Demaine, Devadas and Lynch on randomization, flows and NP-completeness.
  • Introduction to Algorithms, 2011 - MIT 6.006 / 47 lectures and recitations by Devadas and Demaine on sorting, hashing, graph search, shortest paths and DP.
  • Merge Sort vs Quick Sort - Animated comparison by udiprod.
  • 15 Sorting Algorithms in 6 Minutes - Timo Bingmann / Six-minute video that visualizes and sonifies 15 sorting algorithms, from quicksort and merge sort to bogo sort.
  • AlgoRythmics - Sapientia University / 14 videos in which folk dancers act out sorting and searching algorithms such as bubble, quick and merge sort.

Books

  • Elementary Algorithms - Free book of functional algorithms and data structures with 120 exercises, in English and Chinese.
  • Data Structures and Algorithms - The Basic Toolbox by Mehlhorn and Sanders, with chapter PDFs available for download.
  • Algorithms by Jeff Erickson - Free textbook and lecture notes from the University of Illinois.
  • Competitive Programmer's Handbook - Free / Antti Laaksonen / About 300 pages introducing competitive programming, from sorting and DP to graphs, number theory and geometry.
  • Open Data Structures - Free / Pat Morin's open textbook on lists, hash tables, search trees, heaps and graphs in Java, C++ and pseudocode editions.
  • Hello Algo - Free / English, Chinese, Japanese and more / Beginner tutorial by krahets with animated illustrations and runnable code in 14 languages.
  • Cracking the Coding Interview - Gayle Laakmann McDowell's interview preparation book with 189 questions; solutions on GitHub, author on Quora.
  • Algorithm Design - Textbook by Jon Kleinberg and ร‰va Tardos, published by Pearson.
  • Algorithms - Fourth edition by Robert Sedgewick and Kevin Wayne, with the book site's code and exercises.
  • Introduction to Algorithms - Fourth edition of the CLRS textbook by Cormen, Leiserson, Rivest and Stein.
  • Grokking Algorithms - Illustrated, beginner-friendly guide by Aditya Bhargava, published by Manning.
  • Algorithmic Problem Solving Strategies - Korean / Textbook by Jongman Koo that teaches algorithm design through contest problems.

Articles

Competitions

  • ICPC - The International Collegiate Programming Contest, the oldest and largest team programming competition for university students.
  • IOI - The International Olympiad in Informatics, the annual algorithmic competition for secondary school students.
  • Meta Hacker Cup - Meta's annual open programming competition.
  • AtCoder Contests - Weekly rated contests for beginners to experts.
  • Codeforces Contests - Frequent rated rounds, the most active contest platform.
  • Google Coding Competitions Archive - Official archive of problems and solutions from Code Jam, Kick Start and Hash Code, which ended in 2023.
  • Google Summer of Code - Annual program that pairs students with open source organizations for a paid summer coding project.
  • KOI - Korean / Korea Olympiad in Informatics / Annual contest for elementary to high school students with an online first round and a second round for its medalists.
  • UCPC - Korean / Union of Collegiate Programming Contest clubs / Annual three-person team contest with an online qualifier and an on-site final.

Miscellaneous

  • The Algorithms - Open-source implementations of algorithms in every major language.
  • MIT OpenCourseWare - YouTube playlists of full MIT course lectures.
  • Awesome Data Science - Curated list of data science learning resources.
  • Awesome Machine Learning - Curated list of machine learning frameworks, libraries and software by language.
  • Rosetta Code - Solutions to the same tasks in as many programming languages as possible, for comparing how languages differ.
  • Code.org - Nonprofit with a free K-12 computer science curriculum and the Hour of Code campaign.
  • CheckiO - Online game for Python and JavaScript coders.
  • HUST Online Judge System - PHP (Laravel) rewrite of the HUST judge that sends submissions to separate judge servers over RabbitMQ.
  • Tech stack for Baekjoon online judge - Korean / Startlink's write-up of how the Baekjoon judge was built and which technologies it runs on.

About

A curated list of courses, online judges, visualizations, books and competitions for learning and practicing algorithms. English and Korean.

Topics

Resources

Code of conduct

Contributing

Stars

908 stars

Watchers

21 watching

Forks

Used by

Contributors