30 open-source projects similar to aalhour/c-sharp-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 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 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
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 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 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 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 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 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
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
Gonum is a numerical computing library for the Go programming language, providing a collection of packages for scientific computing, linear algebra, statistics, and optimization. It functions as a framework for performing complex numerical computations and solving systems of linear equations. The project includes a dedicated graph analysis framework for modeling network graphs and solving connectivity and pathfinding problems. It also provides a statistical analysis toolkit for computing descriptive and inferential statistics and estimating mixture entropy. The library's capability surface c
Memgraph is an in-memory, distributed graph database designed for high-performance labeled property graph management. It utilizes a Cypher query engine for declarative data retrieval and manipulation, providing a scalable knowledge graph backend that integrates vector search and graph traversals. The system distinguishes itself as a real-time graph analytics platform, employing native C++ and CUDA implementations to execute complex network analysis and dynamic community detection on streaming data. It provides specialized support for AI integration, including GraphRAG capabilities, the constr
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 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.
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 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 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 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 collection of optimized computational routines and standardized implementations of fundamental computer science algorithms. It serves as an educational library for studying and applying core algorithmic patterns, including dynamic programming, greedy strategies, and recursive decomposition, within a TypeScript environment. The library distinguishes itself by providing generalized solvers for complex optimization and analysis tasks. It includes specific implementations for resource allocation, such as rod cutting, interval scheduling, and change-making problems, alongside seq
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 comprehensive library of type-safe, high-performance data structures for Go. By leveraging language-level generics, it provides reusable containers and algorithms that eliminate the need for runtime type assertions or interface casting, ensuring efficient and type-safe data management. The library distinguishes itself through its support for persistent data structures and specialized indexing. It utilizes copy-on-write semantics and memory sharing to maintain multiple versions of a collection, allowing for efficient modifications without duplicating entire datasets. Addition
This repository is a collection of optimized source code implementations for LeetCode algorithmic challenges. It serves as both a Python and Java algorithm library, providing solved computational problems for these two languages. The project focuses on data structure implementation, providing code examples that demonstrate how to use complex structures to resolve logical processing tasks. It covers a range of computational problems, including string searching and integer parsing. The repository is designed for competitive programming practice and technical interview preparation, with a focus
This library provides a comprehensive collection of fundamental computer science primitives implemented in Go. It serves as a resource for both educational purposes and production applications, offering standard tools for organizing, searching, and sorting data. The implementation leverages language-level type parameters to ensure type safety while maintaining flexibility across different data types. It utilizes interface-driven polymorphism and pointer-based memory management to define common behaviors and handle complex structures. To optimize performance, the library employs in-place data
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 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
uthash is a macro-based data structure library for C that provides header-only implementations of hash tables, linked lists, stacks, and dynamic arrays. It allows for key-based lookups and organized data storage without requiring external library linking. The library uses intrusive linking to embed metadata directly into user-defined structures via macros. This approach enables in-place structure extension, allowing hash and link fields to be added to existing structs without separate memory allocations for container nodes. The project also covers specialized memory and data stream managemen
This project is a comprehensive library of fundamental computer science algorithms and data structures implemented in C. It provides a collection of modular, portable code blocks designed for educational purposes and integration into production software, focusing on procedural execution and direct hardware interaction. The library distinguishes itself through a focus on low-level systems programming, offering memory-efficient implementations of stacks, queues, linked lists, and trees. It includes specialized suites for cryptographic data protection, audio signal processing, and network commun
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
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
FalkorDB is a high-performance graph database management system and vector graph database. It serves as a knowledge graph construction tool and a GraphRAG knowledge store, integrating structured property graphs with vector search to provide grounded context for large language models. The engine is designed as a multi-tenant graph engine, capable of hosting thousands of isolated datasets within a single instance. The system distinguishes itself by using linear algebra for query execution, treating relationship tensors as matrix multiplications to achieve low-latency multi-hop traversals. It ut
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