30 open-source projects similar to williamfiset/algorithms, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Algorithms alternative.
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 repository serves as a comprehensive resource for competitive programming and technical interview preparation. It provides a structured collection of source code implementations for fundamental data structures and classic algorithmic problems, designed to help developers master core computer science concepts and efficient coding strategies. Beyond standard problem-solving, the project distinguishes itself by integrating software design patterns into its algorithmic implementations. It demonstrates how to apply structural and behavioral patterns—such as decorators, observers, and singleto
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 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 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 project is a comprehensive library of reference implementations for fundamental data structures and algorithms, designed to support technical interview preparation and software engineering assessments. It provides a structured collection of computational techniques for solving complex problems involving arrays, strings, graphs, trees, and mathematical analysis. The library distinguishes itself by offering specialized implementations for advanced topics, including concurrent programming patterns and geometric algorithms. It features thread-safe primitives for managing shared state and tas
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 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 project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming. It serves as a centralized repository for algorithmic theory, data structures, and mathematical techniques, providing a structured reference for informatics and collegiate programming competitions. The project distinguishes itself by integrating educational content with a robust suite of automation utilities. It provides a complete workflow for competitive programming, including tools for automated test case generation, solution verification, and direct interaction with onlin
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 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 project is an algorithm learning platform and computer science educational resource. It serves as a technical interview study guide, providing structured lessons on data structures and sorting methods. The site is a markdown-based static site that converts technical documentation and algorithmic explanations into static HTML pages. It functions as a system for markdown content publishing to deliver educational material. The platform covers algorithm complexity analysis, problem solving workflows, and general computer science education. It utilizes a component-based UI structure with fil
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 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
algs4 is a Java data structures library and algorithm reference collection designed as the source code for a standard computer science textbook curriculum. It provides a comprehensive suite of fundamental implementations for sorting, searching, and core data organization. The project serves as a graph theory framework, offering tools for representing directed and undirected graphs and performing complex traversals and pathfinding. It also includes a broad sorting algorithm suite and a specialized library of Java data structures, including stacks, queues, priority queues, and symbol tables. I
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 project is a curated reference library of algorithmic patterns, data structure implementations, and system design notes. It serves as a Java algorithmic problem set and a competitive programming guide, providing a collection of solutions for coding challenges from platforms like LeetCode and LintCode. The library is distinguished by its comprehensive set of Java implementations for advanced data structures and algorithmic strategies. It includes detailed references for solving complex problems with accompanying time and space complexity analysis. The project covers a broad surface of co
This repository serves as a comprehensive library of fundamental data structures and standard algorithms implemented in C, C++, and Java. It functions as an educational resource designed to demonstrate core computer science concepts through practical code examples. The collection covers essential data organization methods, including arrays, linked lists, stacks, and queues, alongside standard computational procedures such as sorting, searching, and graph traversal. By providing these implementations across multiple languages, the project supports technical skill development and preparation fo
This project is a collection of classic computational algorithms and data structures implemented in JavaScript. It serves as a library of standardized procedures for sorting, searching, and graph traversal, alongside foundational data containers such as linked lists, heaps, trees, and hash tables. The library is designed to support computer science education and technical interview preparation by providing clean, readable implementations of fundamental principles. It emphasizes functional logic isolation and type-agnostic design, ensuring that computational tasks remain decoupled from applica
This repository serves as a comprehensive library for algorithmic problem solving, providing reference implementations for fundamental computer science challenges. It is designed as a resource for technical interview preparation and competitive programming training, focusing on the mastery of common patterns and data structures required for coding assessments. The project distinguishes itself by offering solutions that emphasize idiomatic Python usage and performance optimization. It covers a wide range of algorithmic techniques, including greedy selection, dynamic programming, graph theory,
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 project is a comprehensive study guide and reference repository designed to prepare software engineers for technical interviews. It provides a structured collection of fundamental computer science concepts, algorithm implementations, and system design principles, serving as a centralized resource for reviewing the core knowledge required for engineering assessments. The repository distinguishes itself by offering language-agnostic concept modeling and modular knowledge categorization, which allows candidates to navigate complex topics efficiently. It covers a broad spectrum of technical
This project is an educational resource providing a structured curriculum for mastering fundamental computer science concepts, algorithmic logic, and data structure implementation using Python. It serves as a comprehensive tutorial for understanding how to organize information effectively and solve complex computational challenges through systematic programming techniques. The repository focuses on the practical application of core data structures, including arrays, linked lists, hash tables, stacks, queues, and trees. It emphasizes the development of algorithmic problem-solving skills by cov
This project is an educational resource and reference library designed to teach fundamental data structures and algorithmic problem-solving. It provides a structured pedagogical framework that organizes complex technical concepts into a logical progression, helping learners understand how data is organized, stored, and processed to solve computational problems efficiently. The repository distinguishes itself through a multi-language codebase that maintains parallel, consistent implementations of core algorithms and data structures across various programming languages. It bridges the gap betwe
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 project is a comprehensive collection of common computer science algorithms and data structures implemented in Swift. It serves as an educational reference and library for studying computational complexity, algorithmic logic, and data structure engineering through practical code examples. The repository provides a wide suite of data structure implementations, including various types of linked lists, heaps, hash tables, and an extensive range of hierarchical trees such as Red-Black, B-Tree, and Splay trees. It also covers diverse sorting and searching techniques, from basic bubble sort to
Cosmos is a comprehensive collection of fundamental computational algorithms and data structures implemented in C++. It serves as an educational resource and reference library, providing structured source code examples for core computer science concepts including sorting, searching, graph theory, and dynamic programming. The project is designed for modularity and ease of integration, utilizing a header-only distribution model that allows developers to incorporate specific algorithms without complex build dependencies. By employing template-based generic programming and namespace-scoped organi
This repository serves as a collection of common coding challenges and data structure implementations designed to assist software engineers in preparing for technical interviews. It functions as a study guide for mastering fundamental computer science concepts and standard algorithmic patterns using Python. The project organizes source files into a hierarchical directory structure, grouping problems by category or data structure type to facilitate navigation. By maintaining these implementations as raw script files, the repository allows users to execute code directly within their local Pytho
This is a collection of classic computer science algorithms and data structures implemented from scratch in JavaScript. The project provides reference implementations of fundamental concepts including sorting algorithms, binary search, linked lists, and binary search trees, all built as standalone pure functions with no external dependencies. The implementations cover a range of data structures, including singly-linked, doubly-linked, and circular linked lists with full traversal and mutation operations, as well as binary search trees supporting insertion, deletion, and search. Sorting algori
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