30 open-source projects similar to kelvins/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
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 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 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 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
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 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 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 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
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 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 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 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 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 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 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 repository provides a collection of verified implementations for fundamental data structures and computational algorithms. It serves as both a practical toolkit for integrating standard procedures into software applications and a reference for understanding core computer science concepts. The library covers a wide range of operations, including sorting, searching, graph traversal, and geometric analysis. Each implementation is designed to be modular and reusable, utilizing generic type parametrization to decouple logic from specific data types while maintaining type safety. The project
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 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 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
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 project is an educational code repository providing a curated collection of common algorithms and data structures implemented in JavaScript. It serves as a reference library and a study resource for learning computer science concepts and foundational programming principles. The repository focuses on the practical implementation of standard data structures and algorithmic patterns. It provides a codebase for studying computational problem-solving and practicing the technical requirements often found in software engineering interviews. The codebase covers core data structure implementatio
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 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
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 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 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 technical interview study guide and algorithm reference library. It provides a collection of Python implementations for algorithmic challenges and data structure problems common to software engineering coding assessments. The repository serves as a resource for coding interview solutions, featuring documented code samples for sorting, searching, and optimization algorithms. It includes an automated solution test suite to verify the correctness of these implementations across various edge cases. The project emphasizes the use of idiomatic Python patterns and standard library
This project serves as a collaborative educational resource for learning computational theory and its practical application. It functions as a platform for understanding the mechanics behind standard data structures and algorithms by bridging the gap between abstract mathematical logic and concrete source code. The repository distinguishes itself through a multi-language approach, linking conceptual algorithmic breakdowns to implementations across a wide variety of programming languages. By utilizing language-agnostic modeling and cross-referenced documentation, it allows users to study how t