# mgechev/javascript-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/mgechev-javascript-algorithms).**

7,827 stars · 1,242 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/mgechev/javascript-algorithms
- Homepage: https://mgechev.github.io/javascript-algorithms/
- awesome-repositories: https://awesome-repositories.com/repository/mgechev-javascript-algorithms.md

## Topics

`algorithm` `computer-science-algorithms` `hacktoberfest` `javascript`

## Description

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.

The library covers a broad range of computational problem solving and data structure design. It includes tools for data structure visualization and provides a reference for solving complex data processing challenges within a JavaScript environment.

## Tags

### Education & Learning Resources

- [Algorithmic Problem Solving](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/algorithmic-problem-solving.md) — Provides a comprehensive library of JavaScript implementations for solving classic computer science algorithmic challenges. ([source](https://cdn.jsdelivr.net/gh/mgechev/javascript-algorithms@master/README.md))
- [JavaScript Implementations](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/computer-science-concepts/javascript-implementations.md) — Provides a complete library of standard computer science algorithms and data structures implemented in JavaScript for reference and study.
- [JavaScript Implementations](https://awesome-repositories.com/f/education-learning-resources/data-structure-design/javascript-implementations.md) — Provides custom collections like linked lists and trees built with JavaScript classes.
- [Algorithm Implementations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/general-collections-and-study/algorithm-implementations.md) — Implements a wide range of standard computational algorithms and design patterns for educational use.
- [Algorithmic Reference Implementations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/general-collections-and-study/algorithmic-reference-implementations.md) — Provides modular, isolated code patterns that serve as a reference for standard computational logic.
- [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 foundational computer science principles through JavaScript code.
- [Computer Science Concepts](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/computer-science-concepts.md) — Acts as a reference for foundational computer science concepts, focusing on algorithmic efficiency and logic patterns.
- [Technical Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/technical-interview-preparation.md) — Provides a practical study guide for practicing coding challenges common in technical software engineering interviews.
- [Data Structure Visualizers](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/data-structure-implementations/data-structure-visualizers.md) — Includes tools and logic for visualizing the internal operations of fundamental data structures.
- [Technical Interview Guides](https://awesome-repositories.com/f/education-learning-resources/technical-interview-guides.md) — Serves as a practical study resource for mastering common coding challenges and data structure manipulations for technical interviews.

### Data & Databases

- [Data Structure Implementations](https://awesome-repositories.com/f/data-databases/data-structure-implementations.md) — Implements a comprehensive set of classic data structures including linked lists, trees, and graphs in JavaScript.

### Programming Languages & Runtimes

- [Linear Data Structures](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-structures/linear-collections/linear-data-structures.md) — Organizes implementations based on the distinction between linear collections and hierarchical structures.
- [Object Reference Simulations](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-interop/javascript-object-references/object-reference-simulations.md) — Simulates memory addresses using JavaScript object references to connect nodes in graphs and linked lists.

### Software Engineering & Architecture

- [Class-Based Data Modeling](https://awesome-repositories.com/f/software-engineering-architecture/class-based-data-modeling.md) — Uses JavaScript classes to encapsulate the state and behavior of classic data structures like trees and linked lists.

### Scientific & Mathematical Computing

- [Computational Complexity](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/algorithms/computational-complexity.md) — Demonstrates time and space complexity trade-offs across different algorithmic implementations.
- [Complexity Annotations](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/complexity-annotations.md) — Organizes code to prioritize and annotate the efficiency of various problem-solving approaches.

### Web Development

- [Standalone Pure Function Modules](https://awesome-repositories.com/f/web-development/side-effect-management-libraries/pure-function-patterns/standalone-pure-function-modules.md) — Implements algorithms as standalone JavaScript modules exporting pure functions.

### Part of an Awesome List

- [Algorithms and Data Structures](https://awesome-repositories.com/f/awesome-lists/devtools/algorithms-and-data-structures.md) — Collection of famous algorithms implemented in JavaScript.
