30 open-source projects similar to arnauddri/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 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
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 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
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 Go algorithm implementation library and a reference for data structures. It serves as a collection of solved coding interview problems and an algorithmic pattern collection, providing a reference of over 100 common challenges implemented in Go. The library focuses on specific problem-solving strategies, including sliding windows, two pointers, and dynamic programming. It provides coded examples of standard sorting, searching, and graph traversal techniques to facilitate the study of algorithmic patterns. The repository covers a broad range of capabilities, including array a
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 suite of Java-based implementations for standard computer science algorithms, data structures, graph analysis, and mathematical computations. It provides a collection of reference implementations for fundamental data containers, including trees, heaps, maps, tries, and lists, alongside common sorting and searching routines. The library includes a specialized suite for graph network analysis, covering shortest paths, minimum spanning trees, and maximum flow. It also provides mathematical utilities for prime testing, modular arithmetic, and Fast Fourier Transform
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
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 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 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 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 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 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 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 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 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
This project is an algorithm implementation reference and educational resource providing a library of common computer science algorithms implemented in Rust. It serves as a codebase for learning data structures and algorithmic logic through practical, executable examples. The collection is designed for computer science education and rust language proficiency, allowing users to study computational patterns and solve programming challenges. It provides a reference for those practicing competitive programming or seeking to understand how to apply Rust idioms to standard algorithmic logic.
This project is a comprehensive collection of C++ libraries and toolkits providing reference implementations for data structures, graph algorithms, and bitwise logic. It serves as a C++ algorithm reference containing over 180 solved coding problems and a specialized toolkit for competitive programming. The repository distinguishes itself through extensive low-level bit manipulation libraries for parity checks, endianness detection, and XOR-based logic. It also provides a wide array of reference solutions for complex algorithmic challenges involving backtracking, graph theory, and dynamic prog
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
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 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 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 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 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 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 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
CLRS is an algorithm implementation library and reference providing code solutions for the classic computer science problems and theoretical concepts found in Introduction to Algorithms. It serves as a computer science study guide and a set of textbook exercise solutions used for academic study and the verification of time and space complexity. The project is a multi-language algorithm library, implementing theoretical algorithms across several programming languages to demonstrate cross-language application and behavior. This approach allows for the study of different memory management and sy
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 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