← All open source projects

JavaScript Algorithms

trekhleb/javascript-algorithms

JavaScript Algorithms is a collection of algorithms and data structures implemented in JavaScript with explanations and learning links.

Forks 31,072
Author trekhleb
Language JavaScript
License MIT
Synced 2026-06-07

What JavaScript Algorithms is

trekhleb/javascript-algorithms is an educational repository with JavaScript implementations of classic algorithms and data structures. Its value is the combination of code, topic-specific READMEs, explanations, and links for deeper reading.

It is popular with developers preparing for interviews, revisiting computer science after web work, or wanting to see algorithms in a familiar language. JavaScript keeps the examples accessible and easy to run.

What is inside

The repository covers data structures and algorithms: lists, queues, trees, graphs, sorting, search, dynamic programming, and more. Many topics include tests, so the repo reads like a working example collection rather than a static reference.

Small algorithm example

This mirrors the repository style: a compact implementation paired with an explanation in the topic README.

Language: JavaScript
function binarySearch(items, target) {
  let left = 0;
  let right = items.length - 1;

  while (left <= right) {
    const middle = Math.floor((left + right) / 2);
    if (items[middle] === target) return middle;
    if (items[middle] < target) left = middle + 1;
    else right = middle - 1;
  }

  return -1;
}

Why it is useful

The repo translates algorithmic topics into the language of frontend and Node.js developers. You can open one structure, inspect a minimal implementation, then follow the linked materials to compare approaches.

Limits

It is not a production package of optimized data structures. The code is best used for learning; real product code still needs API design, performance work, maintenance, edge cases, and stack integration.