30 open-source projects similar to wangzheng0822/algo, 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 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
AlgorithmsByPython is a reference library and educational repository providing runnable Python implementations of computer science fundamentals. It serves as a comprehensive guide for algorithmic patterns, core data structures, and solutions for competitive programming and technical interview challenges. The project distinguishes itself by offering a wide array of reference implementations, including a dedicated set of solutions for common LeetCode problems. It focuses on translating theoretical computational logic into practical Python code for educational and practical use. The repository
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 an algorithm template library and coding interview study guide providing reusable code patterns for common data structures and algorithms. It serves as a reference for optimized strategies and a structured learning path to build proficiency in algorithmic problem solving and competitive programming. The library focuses on standardized implementations of key algorithmic patterns, including sliding windows, backtracking, dynamic programming, and binary search. It provides specific templates for managing binary search trees, searching rotated sorted arrays, and executing divide-a
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 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 provides a collection of fundamental computer science algorithms and data structures implemented in Go. It serves as a technical reference and educational resource, offering reusable modules for common computational tasks including data organization, graph analysis, and numerical operations. The library distinguishes itself through the application of idiomatic Go patterns, utilizing generics for type abstraction and interface-driven polymorphism to ensure compile-time type safety. It emphasizes algorithmic efficiency by employing in-place memory mutation to reduce allocations
This project is a curated educational resource and solution repository for algorithmic challenges, specifically focused on LeetCode problems. It serves as a technical reference for common data structures and algorithmic patterns, providing verified code implementations across multiple programming languages alongside detailed logic and complexity analysis. The repository functions as a comprehensive study guide for competitive programming and technical interview preparation. It includes specialized learning tools such as an Anki flashcard dataset for spaced repetition and a browser extension t
This project is a comprehensive collection of computer science implementations and an algorithm tutorial repository. It serves as a study guide and reference for competitive programming, providing executable code examples that demonstrate fundamental algorithmic problem solving and mathematical computation. The library covers a wide range of specialized domains, including cryptography and security primitives, lossless data compression techniques, and computational geometry for spatial analysis. It also features implementations of machine learning models, linear algebra operations, and formal
This project is a comprehensive technical interview study resource designed to help developers prepare for engineering job assessments. It functions as a structured guide that curates essential computer science fundamentals, web development standards, and programming language concepts into a format optimized for professional evaluation. The repository distinguishes itself by providing strategic guidance on architectural decision-making and professional communication. Beyond simple question-and-answer pairs, it offers frameworks for articulating experience during interviews and suggests profes
algorithm-base is an educational library and study guide designed for simulating algorithms and studying data structures. It functions as an execution visualizer that renders step-by-step state changes and pointer updates through animated simulations to illustrate how data movement works. The project distinguishes itself by mapping conceptual logic directly to multi-language source code implementations. It utilizes a comparative analysis framework to evaluate different algorithmic strategies based on stability, time complexity, and space complexity, while organizing problems by underlying mec
The repository provides a collection of solved algorithmic challenges and data structure implementations written in JavaScript, designed for technical interview preparation and computer science study. The content is organized as a curriculum covering standard programming problems without external dependencies. The material encompasses fundamental computer science data structures such as trees, heaps, tries, linked lists, and custom collections, alongside classical algorithms addressing arrays, strings, matrices, and graphs. Implementations also cover specialized algorithmic techniques includi
This project is a C++ algorithm implementation library and educational codebase that translates theoretical textbook pseudocode into verified, executable source code. It serves as a collection of reference implementations designed to demonstrate the practical application of classic computer science theories through a structured repository of computational algorithms. The library utilizes template-based generic programming and the C++ Standard Template Library to ensure implementations remain type-safe and flexible across different data types. To ensure correctness, the project includes an aut
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 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 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 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 project is a curated library of algorithm implementations and solved programming problems. It serves as a reference repository for competitive programming and data structure implementations, providing optimized solutions for a wide range of coding challenges. The collection organizes code examples by algorithmic technique, specifically focusing on the implementation of trees, graphs, and heaps to optimize time and space complexity. It provides language-specific solutions used for high-performance coding tasks. The repository covers a broad set of capabilities, including graph traversals
This project is an algorithm implementation library and educational resource providing a collection of data structures and core algorithms. It serves as a reference for implementing sorting, searching, and graph algorithms in both C++ and Java. The repository functions as a performance benchmark tool, providing a set of test cases to measure execution time and time complexity across different computational patterns. It utilizes random-sample benchmarking and timing analysis to quantify the performance of various implementations. The library covers a broad range of fundamental computer scienc
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
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 is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides a suite of tools for general algorithm implementation, including data structure management, graph theory analysis, and string processing. The library is distinguished by its specialized toolkits for cryptographic hashing and encoding, featuring implementations of MD5, SHA-1, and Base64. It also includes advanced capabilities for high-performance string processing via suffix trees and arrays, as well as computational number theory for primality testing and arbitrary-precision
This project is a C# algorithms library and collection of data structures. It serves as a computer science reference providing practical implementations of classic sorting, searching, and graph traversal patterns. The library includes a dedicated string processing toolkit for analyzing text similarity, computing edit distances, and managing prefix-based searches. It also features a graph theory implementation for modeling network relationships and calculating shortest paths. The codebase covers a broad range of capabilities, including the management of linear and hierarchical collections, tr
This project is a comprehensive reference guide for computer science fundamentals, providing structured summaries of essential data structures and algorithmic principles. It serves as a technical resource for developers to review core programming concepts, memory layouts, and operational characteristics required for software development and technical assessments. The collection distinguishes itself by offering concise, implementation-focused documentation for a wide range of standard techniques. It covers the mechanics of various sorting and searching algorithms, graph and tree traversal stra
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 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 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 a JavaScript sorting algorithm library and educational programming resource. It provides a collection of classic sorting implementations designed to teach the logic behind common data ordering techniques. The project serves as a technical reference guide, offering implementations of various sorting methods alongside explanations of their time and space complexity. It focuses on the application of fundamental computer science patterns within a JavaScript environment. The library covers a wide range of sorting algorithms, including comparison-based methods like quicksort, merge
This project is a comprehensive reference for algorithms and data structures used to solve complex computational problems in competitive programming. It serves as a technical resource for implementing advanced mathematical programming, computational geometry, and graph theory. The repository provides detailed implementation guides for diversifying algorithmic techniques, including top-down and bottom-up dynamic programming optimization, number theory, and linear algebra. It features specific guides for complex tasks such as constructing planar graphs, solving linear Diophantine equations, and
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