30 open-source projects similar to mandliya/algorithms_and_data_structures, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Algorithms And Data Structures alternative.
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
LogicStack-LeetCode is a curated repository of solved algorithm problems and data structure implementations, primarily drawn from the LeetCode platform. Its core identity is a structured collection of solutions designed to support technical interview preparation and competitive programming practice, with each solution accompanied by complexity analyses to help engineers understand performance trade-offs. The repository distinguishes itself through its breadth of coverage across fundamental algorithmic patterns and data structures. It includes implementations for array manipulation, string pro
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 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 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
petgraph is a graph data structure library for the Rust programming language. It provides a collection of tools for representing and manipulating graphs, functioning as a network analysis tool and a comprehensive graph algorithm suite. The library integrates with Graphviz DOT for importing, exporting, and parsing graph data to facilitate visualization. It distinguishes itself by offering specialized network analysis capabilities, such as the detection of cliques, bridge edges, articulation points, and subgraph isomorphisms. Its computational surface covers a wide range of algorithms, 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
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
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
This project is an educational repository and collection of algorithms implemented in C++. It provides a structured set of code examples covering mathematics, computer science, and physics for reference and learning. The collection includes implementations of data structures for managing hierarchical and linear data, such as binary search trees and AVL trees. It also features simulations of computer science concepts, including CPU scheduling and the resolution of combinatorial puzzles. The repository further covers cryptographic examples through the implementation of classic encryption and e
This repository is a curated guide and implementation library of coding patterns used to solve data structures and algorithms problems. It serves as a technical interview study resource, providing a comprehensive set of strategies and computational logic examples for optimizing time and space complexity. The project focuses on standardized algorithmic patterns, including sliding windows, two pointers, and dynamic programming. It features specific implementations for a wide range of challenges, such as LeetCode problem solutions and specialized techniques like cyclic sort and bitwise XOR opera
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 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 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 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
Algodeck is an open-source collection of flash cards designed for reviewing algorithms, data structures, and system design concepts, specifically curated for technical interview preparation. The project organizes knowledge into atomic question-and-answer pairs and incorporates spaced repetition scheduling to optimize long-term memory retention. The flash card catalog covers a broad range of computer science topics, including classic sorting algorithms like quicksort and mergesort, data structure operations for arrays, trees, heaps, tries, and graphs, as well as bit manipulation techniques for
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
Boost is a collection of portable, high-performance source libraries that extend the C++ standard library. It provides a wide range of reusable components, data structures, and algorithms designed to add capabilities to the base language across different platforms. The project is distinguished by its extensive focus on compile-time template metaprogramming and generic programming. It implements advanced architectural patterns such as policy-based design, concept-based type validation, and the use of SFINAE for conditional template resolution to minimize runtime overhead. The library covers a
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 data structures and standard algorithms implemented in C and C++. It serves as a technical reference for understanding and applying core computational patterns, providing verified code examples for tasks such as sorting, searching, and graph traversal. The project emphasizes low-level systems programming by utilizing manual memory management and pointer-based data linking to organize information. It employs a procedural approach to logic, relying on static type system enforcement to ensure performance and memory safety during the execution of com
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
Codeforces-go is a competitive programming algorithm library written in Go, providing a collection of reusable code templates for solving algorithmic problems. It covers core areas including data structures, graph algorithms, dynamic programming, and mathematical computation, with pre-built implementations for segment trees, Fenwick trees, shortest paths, minimum spanning trees, knapsack DP, interval DP, and number theory routines. The library organizes its templates by algorithmic pattern, grouping them into categories such as DP, graph, and math to match common contest question structures.
This is a collection of standard data structures and algorithmic implementations written in Rust. It provides a suite of specialized libraries designed for competitive programming and systems engineering. The project is organized into distinct toolkits for graph theory, number theory, range queries, and string processing. It includes implementations for computing shortest paths and network flows, performing primality tests and modular arithmetic, and managing associative range queries. The library covers broad computational areas including signal processing via fast Fourier transforms, text
This project is a data structures and algorithms library providing a collection of fifty standard code implementations for managing data and solving common computational problems. It serves as an algorithm implementation reference and study resource for educational use. The codebase covers graph theory implementations for modeling networks and performing searches, as well as string pattern matching libraries for the retrieval of character sequences. It includes a collection of hierarchical data structures, such as binary search trees and priority heaps, and provides optimized solutions for dy
This project is a Go algorithm implementation library designed for technical interview preparation. It provides a collection of common data structures and algorithmic solutions to help practice for software engineering coding assessments. The library includes a custom data structure collection featuring linked lists, stacks, queues, trees, and hash maps. It also implements specific algorithmic solutions, such as A* pathfinding for calculating the shortest path between nodes and a real-time stream processor for computing moving averages and running medians from continuous data inputs.
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
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 repository serves as a comprehensive collection of standard computer science algorithms and data structures implemented in the Go programming language. It functions as an educational resource for developers to study idiomatic code examples and master fundamental computational logic through practical, hands-on implementation. The project provides a reference for building and utilizing essential storage containers, such as linked lists, heaps, and hash maps, to organize information efficiently. It also includes a suite of proven mathematical algorithms for performing complex numerical calc
This project is a C++ learning resource and study guide consisting of structured notes and programming examples. It provides practical implementations and exercise solutions covering core language syntax, data types, and control flow. The repository features specialized samples for object-oriented design, including class inheritance, polymorphism, and abstract classes. It includes demonstrations of memory management techniques such as dynamic allocation, move semantics, and placement new, as well as template programming examples for creating generic functions and data structures. The codebas
This project is a collection of reference implementations for algorithms, mathematics, cryptography, compression, and machine learning written in C#. It serves as an educational library providing standard implementations of sorting, searching, and graph theory algorithms. The repository covers a wide range of computational domains, including combinatorial optimization for constraint satisfaction and scheduling, as well as symmetric and classical cryptographic ciphers. It also provides reference code for lossless data compression techniques and fundamental machine learning primitives such as r