An open API service indexing awesome lists of open source software.

https://github.com/getvmio/free-algorithm-resources

Algorithm Free Resources | This repo collects 116 of free resources for Algorithm. 🧩 Master the art of problem-solving with our Algorithm Playground! This repository offers a vast array of free algorithm resources, courses, and an online practice environment. Essential for computer science studen...
https://github.com/getvmio/free-algorithm-resources

List: free-algorithm-resources

algorithm awesome-list free-resources getvm playground programming

Last synced: 3 months ago
JSON representation

Algorithm Free Resources | This repo collects 116 of free resources for Algorithm. 🧩 Master the art of problem-solving with our Algorithm Playground! This repository offers a vast array of free algorithm resources, courses, and an online practice environment. Essential for computer science studen...

Awesome Lists containing this project

README

          

# Algorithm Free Resources

🧩 Master the art of problem-solving with our Algorithm Playground! This repository offers a vast array of free algorithm resources, courses, and an online practice environment. Essential for computer science students, coding interview prep, and anyone looking to sharpen their algorithmic thinking.

## Resources

| Index | Name | Category | Description |
|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | [Theory of Computing](https://getvm.io/tutorials/cs-6810-theory-of-computing-cornell-university) | University Courses | Explore the power of efficient computation with this comprehensive graduate course in complexity theory from Cornell University. |
| 2 | [Introduction to Theory of Computing](https://getvm.io/tutorials/cs-4810-introduction-to-theory-of-computing-cornell-university) | University Courses | Explore the mathematical foundations of computer science, including Turing machines and the limitations of computation, in this comprehensive undergraduate course from Cornell University. |
| 3 | [Information Retrieval](https://getvm.io/tutorials/cs-4300-information-retrieval-cornell-university) | University Courses | Explore techniques for searching, browsing, and filtering information in large-scale systems. Discover the use of classification systems and thesauruses in web search and digital libraries. |
| 4 | [Introduction to Scientific Computing](https://getvm.io/tutorials/cs-3220-introduction-to-scientific-computing-cornell-university) | University Courses | Discover numerical methods for solving linear and nonlinear equations, interpolating data, computing integrals, and solving differential equations in this comprehensive scientific computing course. |
| 5 | [Algorithms & Models of Computation](https://getvm.io/tutorials/cs-374-algorithms-models-of-computation-fall-2014-university-of-illinois-urbana-champaign) | University Courses | Explore fundamental tools and techniques from theoretical computer science, including algorithm design, formal languages, computability, and complexity. Develop a strong foundation for careers in research, software engineering, or algorithm design. |
| 6 | [Discrete Structures](https://getvm.io/tutorials/cs-173-discrete-structures-univ-of-illinois-urbana-champaign) | University Courses | Explore the theoretical foundations of computer science with this introduction to discrete structures, proofs, and key CS concepts from the University of Illinois Urbana-Champaign. |
| 7 | [Mathematical Foundations of Computing](https://getvm.io/tutorials/cs-103-mathematical-foundations-of-computing-stanford-university) | University Courses | Explore the limits of computer power, learn about computability theory, and gain a strong foundation in discrete mathematics with CS103 at Stanford University. |
| 8 | [Software Foundations](https://getvm.io/tutorials/cis-500-software-foundations-university-of-pennsylvania) | University Courses | Explore the theoretical foundations of software development with this course on formal verification using the Coq proof assistant. Gain expertise in logic, computer-assisted theorem proving, functional programming, and more. |
| 9 | [Algorithms](https://getvm.io/tutorials/15-451-651-algorithms-carnegie-mellon-university) | University Courses | Comprehensive algorithms course covering fundamental algorithms and their proofs, taught by renowned professors at Carnegie Mellon University. |
| 10 | [6.854J/18.415J Advanced Algorithms - MIT](https://getvm.io/tutorials/6-854j-18-415j-advanced-algorithms-mit) | University Courses | This course is a first-year graduate course in algorithms. Emphasis is placed on fundamental algorithms and advanced methods of algorithmic design, analysis, and implementation. Techniques to be covered include amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms. Domains include string algorithms, network optimization, parallel algorithms, computational geometry, online algorithms, external memory, cache, and streaming algorithms, and data structures. The need for efficient algorithms arises in nearly every area of computer science. But the type of problem to be solved, the notion of what algorithms are "efficient, and even the model of computation can vary widely from area to area. In this second class in algorithms, we will survey many of the techniques that apply broadly in the design of efficient algorithms, and study their application in a wide range of application domains and computational models. The goal is for the class to be broad rather than deep. Our plan is to touch upon the following areas. This is a tentative list of topics that might be covered in the class; we will select material adaptively based on the background, interests, and rate of progress of the students. |
| 11 | [Advanced Algorithms](https://getvm.io/tutorials/6-854-18-415j-advanced-algorithms-mit) | University Courses | Explore advanced topics in algorithms, including amortization, randomization, and approximation algorithms, taught by renowned expert Dr. David Karger. |
| 12 | [Advanced Data Structures](https://getvm.io/tutorials/6-851-advanced-data-structures-mit) | University Courses | Explore cutting-edge data structures and their applications in computer science with MIT's 6.851 Advanced Data Structures course. |
| 13 | [Advanced Algorithms Design](https://getvm.io/tutorials/6-046j-18-410j-design-and-analysis-of-algorithms-mit) | University Courses | Dive into advanced algorithm design and analysis techniques, including divide-and-conquer, dynamic programming, and cryptography. Ideal for computer science and software engineering students. |
| 14 | [Introduction to Algorithms](https://getvm.io/tutorials/6-006-introduction-to-algorithms-mit) | University Courses | Explore the fundamental concepts and techniques of algorithms, essential for a wide range of computer science applications. Covers common algorithms, algorithmic paradigms, and data structures. |
| 15 | [Hacking a Google Interview](https://getvm.io/tutorials/6-int-hacking-a-google-interview-mit) | University Courses | Dive deep into common interview questions for top tech companies like Google, Apple, and Facebook. Learn advanced topics like bitwise logic and problem-solving tricks. |
| 16 | [Advanced Algorithm Design & Analysis](https://getvm.io/tutorials/ecs-222a-graduate-level-algorithm-design-and-analysis-uc-davis) | University Courses | Explore complex and advanced algorithms with renowned professor Dan Gusfield. Deepen your understanding of algorithm design and analysis beyond the undergraduate level. |
| 17 | [Algorithms Design and Analysis](https://getvm.io/tutorials/ecs-122a-algorithm-design-and-analysis-uc-davis) | University Courses | Explore the fundamentals of algorithm design and analysis in this comprehensive UC Davis undergraduate course, featuring video lectures, practical assignments, and a solid foundation in core algorithm concepts. |
| 18 | [Software Design and Implementation](https://getvm.io/tutorials/cse-331-software-design-and-implementation-university-of-washington) | University Courses | Explore reliable and maintainable software design and implementation concepts, including program structure, design, and correctness approaches with hands-on testing and debugging experience. |
| 19 | [Software Design and Analysis III](https://getvm.io/tutorials/csci-335-software-design-and-analysis-iii-cuny-hunter-college) | University Courses | Expand your software development skills with CSCI 335, a course that covers advanced algorithms, data structures, and analysis techniques. |
| 20 | [Software Design and Analysis II](https://getvm.io/tutorials/csci-235-software-design-and-analysis-ii-cuny-hunter-college) | University Courses | Develop advanced programming skills with topics like recursion, pointers, and exception handling. Gain practical experience in software design and analysis. |
| 21 | [Software Design & Analysis I](https://getvm.io/tutorials/csci-135-software-design-and-analysis-i-cuny-hunter-college) | University Courses | Intensive introduction to program development and problem-solving, with a focus on designing, implementing, and evaluating small-scale programs using C++. |
| 22 | [Analysis of Algorithms](https://getvm.io/tutorials/cs-4820-introduction-to-analysis-of-algorithms-cornell-university) | University Courses | Explore the design and analysis of algorithms with a focus on real-world computing applications in systems, networks, AI, computer vision, data mining, and computational biology. |
| 23 | [Data Structures & Algorithms](https://getvm.io/tutorials/cs-2150-program-data-representation-university-of-virginia) | University Courses | Comprehensive data structures and algorithms course covering C++, linked-lists, stacks, queues, trees, hash tables, and more. Hands-on labs and projects for computer science students. |
| 24 | [Fundamental Algorithms](https://getvm.io/tutorials/cs-473-573-fundamental-algorithms-univ-of-illinois-urbana-champaign) | University Courses | Comprehensive course covering recursion, randomization, amortization, graph algorithms, network flows, and hardness. Authored by renowned expert Prof. Jeff Erickson. |
| 25 | [Advanced Algorithms](https://getvm.io/tutorials/cs-261-a-second-course-in-algorithms-stanford-university) | University Courses | Dive deeper into advanced algorithmic techniques and their applications in network analysis, optimization, and theoretical computer science. |
| 26 | [Advanced Algorithms](https://getvm.io/tutorials/cs-224-advanced-algorithms-harvard-university) | University Courses | Explore the latest developments in algorithm design and analysis with Harvard University's CS 224 Advanced Algorithms course. Dive into data structures, approximation algorithms, and randomized algorithms. |
| 27 | [CS 97SI: Introduction to Competitive Programming](https://getvm.io/tutorials/cs-97si-introduction-to-competitive-programming-stanford-university) | University Courses | Comprehensive course on essential algorithms and problem-solving techniques for programming contests like ACM-ICPC. Includes lecture slides, practice problems, and tips to excel in competitive programming. |
| 28 | [Data Structures](https://getvm.io/tutorials/cs-61b-data-structures-uc-berkeley) | University Courses | Learn advanced data structures, algorithms, and software engineering principles in this comprehensive CS 61B course from UC Berkeley. |
| 29 | [Data Structures & Functional Programming](https://getvm.io/tutorials/cs-3110-data-structures-and-functional-programming-cornell-university) | University Courses | Explore advanced programming paradigms, including functional and concurrent programming, with Cornell University's CS 3110 course. Develop elegant, efficient, and correct software designs. |
| 30 | [Comprehensive Guide to JSON Decoding Algorithms](https://getvm.io/tutorials/json-decoding-algorithm) | Technical Tutorials | Dive deeper into the inner workings of JSON parsing with this comprehensive guide to JSON decoding algorithms and techniques. Suitable for developers who want to gain a better understanding of the parsing process. |
| 31 | [JavaScript Algorithms and Data Structures](https://getvm.io/tutorials/javascript-algorithms-and-data-structures) | Technical Tutorials | Comprehensive guide to JavaScript algorithms and data structures for software developers and programmers. Improve your problem-solving skills. |
| 32 | [Data Structures in C++](https://getvm.io/tutorials/data-structures-in-c-for-beginners) | Video Courses | Comprehensive C++ data structures tutorial for beginners. Learn fundamental data structures like arrays, linked lists, stacks, queues, and trees from the ground up. |
| 33 | [Data Structures](https://getvm.io/tutorials/data-structures-easy-to-advanced-course-full-tutorial-from-a-google-engineer) | Video Courses | Comprehensive data structures course from a Google engineer, covering easy to advanced topics with practical implementation and real-world applications. |
| 34 | [Data Structures & Algorithms in Python](https://getvm.io/tutorials/data-structures-and-algorithms-in-python-full-course-for-beginners) | Video Courses | Comprehensive guide to learning data structures and algorithms using Python, suitable for beginners. Hands-on video tutorials, coding assignments, and project-based learning. |
| 35 | [Data Structures and Algorithms Full Course](https://getvm.io/tutorials/data-structures-and-algorithms-full-course) | Video Courses | Comprehensive course covering fundamental algorithms and data structures like pointers, arrays, linked lists, stacks, queues, and searching algorithms. Ideal for coding interviews and problem-solving. |
| 36 | [Data Structures and Algorithms for Beginners](https://getvm.io/tutorials/data-structures-and-algorithms-for-beginners) | Video Courses | Comprehensive guide to learning essential data structures and algorithms concepts for beginners with basic programming knowledge. |
| 37 | [Algorithms](https://getvm.io/tutorials/algorithms-and-data-structures-tutorial-full-course-for-beginners) | Video Courses | Comprehensive algorithms and data structures course for beginners, covering essential concepts, performance analysis, and Python implementation. |
| 38 | [Problem Solving with Algorithms and Data Structures using Python](https://getvm.io/tutorials/problem-solving-with-algorithms-and-data-structures-using-python) | Technical Tutorials | Comprehensive guide to Python programming, algorithms, and data structures. Covers fundamental computer science concepts with practical examples and exercises for problem-solving. |
| 39 | [Data Structures and Algorithms in Python](https://getvm.io/tutorials/data-structures-and-algorithms-in-python) | Technical Tutorials | Comprehensive guide to understanding and implementing data structures and algorithms using Python programming language. Suitable for beginners and experienced programmers. |
| 40 | [The Code Challenge Book](https://getvm.io/tutorials/the-code-challenge-book) | Technical Tutorials | Comprehensive guide to coding, programming, and algorithms. Prepare for coding bootcamps and technical interviews with problem-solving techniques and algorithm analysis skills. |
| 41 | [A Practical Introduction to Data Structures and Algorithm Analysis Third Edition (Java Version)](https://getvm.io/tutorials/a-practical-introduction-to-data-structures-and-algorithm-analysis-third-edition-java-version) | Technical Tutorials | Comprehensive guide to data structures and algorithm analysis using Java. Covers fundamental data structures, sorting, and searching algorithms. |
| 42 | [Open Data Structures (In C++)](https://getvm.io/tutorials/open-data-structures-in-c) | Technical Tutorials | Comprehensive guide to data structures and algorithms, with a focus on C++ implementation. Suitable for beginners and experienced programmers. |
| 43 | [A Complete Guide to Standard C++ Algorithms](https://getvm.io/tutorials/a-complete-guide-to-standard-c-algorithms) | Technical Tutorials | Comprehensive guide to standard C++ algorithms with code samples, exercises, and information on C++20 ranges and views. Recommended for C++ programmers seeking to deepen their understanding of the standard library. |
| 44 | [Algorithms Design (In C)](https://getvm.io/tutorials/algorithms-design-in-c) | Technical Tutorials | Comprehensive course on algorithms design and data structures using the C programming language. Covers a wide range of topics from basic to advanced concepts. |
| 45 | [Structure and Interpretation of Computer Programs 246](https://getvm.io/tutorials/structure-and-interpretation-of-computer-programs-246) | Technical Tutorials | Comprehensive introduction to computer science and programming, covering essential algorithms and data structures. Developed by MIT faculty, highly recommended for beginners and experienced programmers. |
| 46 | [Principles of Algorithmic Problem Solving](https://getvm.io/tutorials/principles-of-algorithmic-problem-solving) | Technical Tutorials | Comprehensive course on algorithm design, data structures, and problem-solving strategies in C++. Suitable for beginners and experienced programmers. |
| 47 | [Competitive Programmers Handbook](https://getvm.io/tutorials/competitive-programmers-handbook) | Technical Tutorials | Comprehensive guide to competitive programming, covering algorithms, data structures, and problem-solving techniques. Valuable insights and strategies for aspiring competitive programmers. |
| 48 | [The Great Tree List Recursion Problem](https://getvm.io/tutorials/the-great-tree-list-recursion-problem) | Technical Tutorials | Explore the intricacies of data structures, recursion, and programming with The Great Tree List Recursion Problem, a comprehensive guide to binary trees and circular doubly linked lists. |
| 49 | [The Design of Approximation Algorithms](https://getvm.io/tutorials/the-design-of-approximation-algorithms) | Technical Tutorials | Comprehensive overview of approximation algorithms, algorithm design, and mathematical techniques in optimization. Suitable for graduate-level courses and research in discrete optimization problems. |
| 50 | [The Algorithm Design Manual](https://getvm.io/tutorials/the-algorithm-design-manual) | Technical Tutorials | Comprehensive guide to algorithm design, data structures, and their applications. Covers a wide range of topics including algorithms, graph algorithms, and computational problem solving. |
| 51 | [Text Algorithms](https://getvm.io/tutorials/text-algorithms) | Technical Tutorials | Comprehensive book on text algorithms and data structures for text processing and string matching. Valuable resource for computer science students and researchers. |
| 52 | [Sequential and parallel sorting algorithms](https://getvm.io/tutorials/sequential-and-parallel-sorting-algorithms) | Technical Tutorials | Explore a wide range of sorting algorithms, including Insertion sort, Quicksort, Heapsort, Mergesort, and more. Learn about external sorting and sorting networks, as well as parallel sorting on mesh-connected processor arrays. |
| 53 | [Purely Functional Data Structures (1996)](https://getvm.io/tutorials/purely-functional-data-structures-1996) | Technical Tutorials | Explore the design and implementation of efficient data structures using purely functional techniques. Gain insights into the trade-offs and performance characteristics of different data structures. |
| 54 | [Problems on Algorithms (Second Edition)](https://getvm.io/tutorials/problems-on-algorithms-second-edition) | Technical Tutorials | Comprehensive guide to algorithmic problem solving, featuring practical examples and exercises for students and professionals in computer science. |
| 55 | [Matters Computational: Ideas, Algorithms, Source Code](https://getvm.io/tutorials/matters-computational-ideas-algorithms-source-code) | Technical Tutorials | Comprehensive book covering computational algorithms, source code, and programming concepts. Recommended for programmers and computer scientists. |
| 56 | [Linked List Problems](https://getvm.io/tutorials/linked-list-problems) | Technical Tutorials | Explore a wide range of linked list problems, develop visualization skills, and enhance your problem-solving abilities for coding interviews and exams. |
| 57 | [Linked List Basics](https://getvm.io/tutorials/linked-list-basics) | Technical Tutorials | Comprehensive introduction to the basics of linked lists, covering fundamental concepts, structures, and operations in data structures. |
| 58 | [Learning Algorithm](https://getvm.io/tutorials/learning-algorithm) | Technical Tutorials | Explore a wide range of algorithms, from fundamental data structures to advanced techniques like dynamic programming and graph algorithms. Gain practical knowledge for software engineering and problem-solving. |
| 59 | [Essential Algorithms](https://getvm.io/tutorials/essential-algorithms) | Technical Tutorials | Enhance your programming and problem-solving skills with Essential Algorithms, a comprehensive guide covering essential concepts for beginners and advanced programmers. |
| 60 | [Elementary Algorithms](https://getvm.io/tutorials/elementary-algorithms) | Technical Tutorials | Comprehensive introduction to fundamental algorithms and data structures, including sorting, searching, and algorithm design. Suitable for beginners and professionals. |
| 61 | [Data Structures and Algorithm Analysis in C++](https://getvm.io/tutorials/data-structures-and-algorithm-analysis-in-c) | Technical Tutorials | Comprehensive guide to data structures, algorithms, and problem-solving using C++. Suitable for students and professionals interested in algorithmic problem-solving.