# duereg/js-algorithms

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/duereg-js-algorithms).**

924 stars · 235 forks · JavaScript

## Links

- GitHub: https://github.com/duereg/js-algorithms
- Homepage: blog.mattblair.co
- awesome-repositories: https://awesome-repositories.com/repository/duereg-js-algorithms.md

## Description

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 application state and can operate on diverse inputs.

The implementation utilizes object-oriented patterns to encapsulate data structures, providing consistent interfaces for managing collections and performing complex operations. These utilities are intended to assist in solving common computational problems and optimizing data processing tasks within software applications.

## Tags

### Scientific & Mathematical Computing

- [Data Structure Implementations](https://awesome-repositories.com/f/scientific-mathematical-computing/data-structure-implementations.md) — Ships a collection of foundational data structures implemented in JavaScript for efficient storage and retrieval. ([source](https://github.com/duereg/js-algorithms#readme))

### Development Tools & Productivity

- [Algorithm Implementation Patterns](https://awesome-repositories.com/f/development-tools-productivity/coding-pattern-libraries/algorithm-implementation-patterns.md) — Provides a library of standardized algorithmic patterns for sorting, searching, and graph traversal.
- [Software Engineering Utilities](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/software-engineering-utilities.md) — Offers standardized utilities for sorting, searching, and graph traversal to optimize data processing.

### Education & Learning Resources

- [Coding Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/coding-interview-preparation.md) — Provides practice materials for standard algorithmic patterns to prepare for technical coding interviews.
- [Data Structures and Algorithms](https://awesome-repositories.com/f/education-learning-resources/javascript-skill-building/foundational-javascript-programs/data-structures-and-algorithms.md) — Provides a comprehensive library of classic algorithms and data structures for educational and interview preparation.
- [Computer Science Education](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education.md) — Serves as an educational resource for learning fundamental computer science principles through code.
- [Data Structure Implementations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/data-structure-implementations.md) — Optimizes application performance by providing efficient implementations of trees, graphs, and hash tables.
- [Recursive Problem Solving](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/algorithmic-problem-solving/recursive-problem-solving.md) — Applies mathematical and logical procedures to perform data processing and search tasks.

### Data & Databases

- [Iterative State Management](https://awesome-repositories.com/f/data-databases/collection-iterators/sequential-iterators/parallel-data-iterators/iteration-state-management/iterative-state-management.md) — Uses internal pointers and iterative state management to maintain data structure integrity during operations.
- [Standard Data Structures](https://awesome-repositories.com/f/data-databases/data-collections-datasets/standard-data-structures.md) — Provides standard containers including hash tables, stacks, and queues for data management. ([source](https://github.com/duereg/js-algorithms/blob/master/README.md))
- [Graph Data Structure Management](https://awesome-repositories.com/f/data-databases/graph-data-structure-management.md) — Facilitates the organization and manipulation of complex data using fundamental containers. ([source](https://github.com/duereg/js-algorithms/tree/master/lib))

### Software Engineering & Architecture

- [Generic Data Structures](https://awesome-repositories.com/f/software-engineering-architecture/abstract-data-types/generic-data-abstractions/generic-data-structures.md) — Implements generic data structures that operate on abstract types to process diverse inputs.
- [Algorithmic Problem Solving](https://awesome-repositories.com/f/software-engineering-architecture/algorithmic-problem-solving.md) — Provides established algorithmic patterns to solve complex computational problems. ([source](https://github.com/duereg/js-algorithms/blob/master/README.md))
- [Object-Oriented Foundations](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations.md) — Encapsulates foundational data containers within object-oriented classes for consistent interface management.
- [Logic Isolation](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/namespace-isolation/module-isolation/architecture-isolation/logic-isolation.md) — Implements computational logic in isolated modules to ensure predictability and testability.
