30 open-source projects similar to egonschiele/grokking_algorithms, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This project provides a structured computer science curriculum framework designed for self-directed learners. It organizes open-access academic resources, including textbooks, lectures, and assignments, into a cohesive path that mirrors the requirements of a formal undergraduate degree. By integrating theoretical study with practical software engineering methodologies, the platform enables students to master foundational concepts and advanced technical skills independently. The curriculum distinguishes itself by utilizing a version-control-based workflow to manage the educational experience.
This repository provides a collection of fundamental data structures implemented in Java, designed to serve as an educational resource for understanding core computer science concepts. It includes standard implementations of trees, graphs, queues, and heaps, intended to help developers study the internal mechanics and performance characteristics of these structures. The library emphasizes the use of generics to maintain type safety across different data types and utilizes interface-driven design to ensure consistent method signatures. By building these components from scratch, the project dem
This project is a computer science educational resource and a library of common data structures and algorithms implemented in Swift. It serves as a practical reference for studying complexity and efficiency through solved algorithmic problems and conceptual guides. The collection includes implementations of linear and hierarchical data structures, such as stacks, queues, linked lists, and trees. It covers a wide range of computational patterns, including graph and pathfinding implementations, mathematical numerical methods, and data compression techniques. The project also provides implement
This repository serves as a comprehensive educational resource and technical reference for implementing fundamental data structures and algorithms using JavaScript. It provides a structured guide to mastering core computer science concepts, focusing on the practical application of data organization techniques and problem-solving strategies within the JavaScript ecosystem. The materials cover the implementation of essential storage patterns, including linked lists, trees, and graphs, alongside the analysis of algorithmic efficiency. By evaluating execution time and memory usage through asympto
This project is a library and educational resource providing implementations of foundational computer science data structures and algorithms written in JavaScript and TypeScript. It serves as a reference for executing standard sorting, searching, and recursive patterns using modern web technologies. The collection includes typed implementations for both basic containers, such as stacks, queues, and linked lists, and advanced organizational patterns, including trees, heaps, tries, and graphs. The material covers algorithmic analysis and problem solving through the use of Big O notation to eva
This project is a computer science educational resource and data structures reference library. It serves as a technical study repository containing a collection of fundamental algorithms and data structures, pairing conceptual notes with practical code implementations. The resource is organized as an algorithm implementation guide and a structured knowledge base. It provides a modular set of reference implementations for sorting, searching, and graph traversal, with materials arranged to follow academic curriculum progression. The repository covers a broad range of computer science education
This repository serves as an educational resource for computer science concepts, providing a collection of fundamental data structures and algorithmic patterns implemented in Python. It functions as a programming reference for developers seeking to understand standard software engineering patterns and data manipulation strategies. The project focuses on the construction of essential storage formats, including arrays, graphs, hash tables, linked lists, stacks, and queues. It also provides implementations for standard algorithmic techniques such as dynamic programming, recursion, sorting, and g
This project is a JavaScript algorithm library and computer science reference. It provides a collection of standard computational logic patterns and data structure implementations, including linked lists, trees, and graphs, for both educational and practical use. The codebase serves as a technical interview study guide, offering a practical resource for practicing common coding challenges and data structure manipulations. It is designed for computer science education, allowing users to study how classic algorithms work by reviewing and running implementations of established logic patterns. T
This project provides a collection of instructional guides and tutorials for Android app development, native mobile application creation, and computer science education. It focuses on building native applications through step-by-step implementation, covering the development of user interfaces and the integration of system hardware and permissions. The material extends into broader technical domains, including the study of fundamental data structures and algorithms for technical interview preparation. It also covers cybersecurity fundamentals, such as identifying web vulnerabilities and implem
This project is an algorithm study resource, a centralized LeetCode solution repository, and a technical interview study guide. It provides Chinese translations of textbooks and guides on data structures and algorithms for academic study and professional preparation. The project distinguishes itself by delivering multi-language solution repositories and translated academic materials through a static site generation model. This architecture enables compile-time content translation and offline-first delivery of educational assets as static files. The repository covers a wide range of algorithm
This project is a computer science educational resource and library providing implementations of data structures and algorithms in JavaScript. It serves as an algorithm implementation reference and a toolkit for building foundational data containers, including a collection of sorting algorithms and a guide for learning time and space complexity. The project differentiates itself by pairing class-based implementations with Big O analysis to illustrate asymptotic complexity. It includes a non-linear data structure toolkit featuring self-balancing trees, hash maps, and graphs, alongside comparis
This repository is a collection of reference implementations for fundamental data structures and computational algorithms written in Python. It serves as an educational resource for students and software engineers to study core computer science concepts through practical, modular code examples. The project focuses on the construction of essential data structures, including trees, heaps, stacks, and tries, alongside standard algorithms for searching, sorting, and graph traversal. By utilizing language-idiomatic data modeling and standardized interface designs, the implementations provide a con
This repository is a comprehensive educational resource for mastering fundamental computer science concepts through Python. It provides a structured collection of source code implementations for classic data structures and algorithms, serving as a practical guide for building technical proficiency and preparing for coding interviews. The project distinguishes itself by integrating visual aids and diagrams that map complex execution steps to clarify how data structures function. This visual approach is paired with a rigorous automated unit testing framework, which validates the correctness of
This repository is a collection of common computer science algorithms and data structures implemented across multiple programming languages. It serves as an educational resource for students and developers to study fundamental computational logic and software engineering patterns through practical, version-controlled code examples. The project distinguishes itself by decoupling abstract problem definitions from their specific language implementations. This structure allows for direct cross-language comparison, enabling users to analyze how different syntax and programming paradigms handle ide
This project is an educational code repository providing a curated collection of common algorithms and data structures implemented in JavaScript. It serves as a reference library and a study resource for learning computer science concepts and foundational programming principles. The repository focuses on the practical implementation of standard data structures and algorithmic patterns. It provides a codebase for studying computational problem-solving and practicing the technical requirements often found in software engineering interviews. The codebase covers core data structure implementatio
This project is an educational repository providing a comprehensive collection of verified source code for fundamental data structures and classic algorithms. It serves as a resource for academic study, offering standard implementations of containers such as lists, stacks, queues, and trees, alongside core computational logic patterns like string matching, tree traversal, and graph pathfinding. The repository distinguishes itself by focusing on the low-level mechanics of software, including explicit memory management and resource allocation strategies. It demonstrates these concepts through s
This repository is a comprehensive collection of data structures and algorithms implemented in JavaScript, designed primarily as an educational resource for computer science study and technical interview preparation. It provides modular implementations of fundamental programming concepts, allowing developers to explore algorithmic logic and data organization through self-contained, verifiable code examples. The library distinguishes itself by pairing every implementation with formal Big O notation, providing predictable insights into time and space scaling requirements. Each algorithm is stru
This repository serves as a comprehensive collection of algorithmic problem solutions and educational resources designed to support software engineering education and technical interview preparation. It functions as a structured knowledge base for mastering fundamental computer science concepts, including data structures and common programming challenges. The project provides a curated index of learning materials, such as university courses and textbooks, alongside documented code implementations. By organizing these solutions into a version-controlled format, it allows users to study idiomat
This project is a comprehensive educational repository providing study guides, a competitive programming curriculum, and technical interview resources. It serves as a reference for learning fundamental programming methods, algorithmic logic, and data structure implementations. The repository features multi-language implementation references that allow for the comparison of algorithmic solutions across different programming languages. This approach enables the analysis of performance and implementation details through cross-language code comparisons. The educational content covers computer sc
CS-Xmind-Note is a collection of structured mind maps and conceptual diagrams serving as a comprehensive knowledge base for computer science fundamentals. It functions as an academic reference and study guide, organizing core subjects into a visual mapping of interdependent technical concepts. The project utilizes an XMind-compatible schema to model complex domains through hierarchical nodes and relational concept mapping. This approach allows for the visual representation of technical layers, linking hardware specifications to software abstractions. The knowledge base covers several primary
This project is a comprehensive library of fundamental computer science algorithms and data structures implemented in Kotlin. It serves as a toolkit for software engineering proficiency, providing a collection of standard computational techniques designed to operate on any data type through the use of language-level generics. The library distinguishes itself by emphasizing educational clarity and type-safe implementation. It utilizes interface-based abstractions to decouple algorithmic logic from specific data structures, while employing recursive problem decomposition and immutable state pat
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
This repository is a comprehensive collection of fully worked solutions to exercises and problems from the standard algorithms textbook by Cormen, Leiserson, Rivest, and Stein (CLRS). It serves as an educational reference for algorithm design and analysis, providing step-by-step reasoning, pseudocode, and mathematical proofs for a wide range of topics. The content spans core computer science areas: algorithm analysis with asymptotic notation, recurrence solving, and amortized cost analysis; data structure implementation and operations for binary search trees, red-black trees, B-trees, Fibonac
This project is a comprehensive repository of fundamental computer science algorithms and data structures designed as a reference for academic study, technical interview preparation, and competitive programming. It provides standardized implementations of core computational strategies, serving as an educational resource for developers to master software engineering fundamentals and algorithmic problem-solving. The collection distinguishes itself through a multi-language approach, offering cross-language solutions for complex tasks ranging from graph traversal and dynamic programming to bitwis
This repository serves as an educational resource for mastering computer science fundamentals through a collection of verified data structure and algorithmic implementations. It functions as a library designed to support technical interview preparation and competitive programming training by providing foundational code for common logic puzzles and computational challenges. The project emphasizes modular design, utilizing independent class encapsulation to isolate components and facilitate granular testing. Implementations rely on pointer-based node linking and recursive problem decomposition
This repository is a collection of solved algorithmic problems and data structure exercises designed for technical interview preparation. It serves as a polyglot reference implementation, providing a set of solved exercises based on a standard textbook to help candidates master the logic and complexity analysis required for coding tests. The project implements the same algorithmic logic across multiple programming languages to demonstrate platform-independent problem solving. This polyglot approach allows for the comparison of implementations across different tech stacks to highlight recurrin
This repository is a comprehensive resource for software engineering career development and technical interview preparation. It provides a structured collection of learning materials, algorithmic patterns, and system design guides designed to assist developers in mastering the core competencies required for professional engineering roles. The project distinguishes itself through a pattern-based content taxonomy that groups diverse technical challenges by underlying algorithmic strategies. This approach allows users to identify and apply reusable solutions during high-pressure assessments. It
This repository is a collection of fundamental computer science algorithms and data structures designed for educational and reference purposes. It provides a multi-language library of verified implementations for common computational patterns, serving as a resource for developers to study and apply standard logic to software engineering problems. The project distinguishes itself by offering modular, language-agnostic models that demonstrate how to implement essential storage patterns and classic algorithms. By providing implementations for tasks such as graph traversal, searching, and sorting
This repository is a collection of fundamental computer science concepts and algorithmic implementations designed to serve as an educational resource. It provides a structured library of code that demonstrates universal computational patterns and data structure behaviors across multiple programming languages. The project is organized to facilitate learning through clear, readable reference implementations that prioritize pedagogical clarity over performance optimization. By grouping coding challenges according to underlying algorithmic techniques, the repository helps users identify recurring
This repository is a collection of standard computer science algorithms and data structure implementations written in Java. It serves as a learning resource for developers to study fundamental programming concepts, efficient logic management, and common problem-solving techniques. The project organizes these solutions into modular, independent components that utilize the Java standard library and static type system. Each implementation is verified through unit tests, ensuring that the code adheres to expected outcomes for various mathematical and logical operations. The collection covers a b