Repolode
trekhleb

trekhleb/javascript-algorithms

Подборка классических алгоритмов и структур данных на JavaScript с пояснениями и ссылками на дополнительные материалы.

Звёзды
196,685
Форки
31,010
Открытые issues
413
Последний коммит
3 месяца назад

Что это?

В этом репозитории реализован широкий набор распространённых алгоритмов и структур данных на JavaScript. Здесь представлены базовые структуры — связные списки, стеки, очереди, хеш-таблицы и кучи, — а также деревья (BST, AVL, красно-чёрные, отрезков и Фенвика), графы, префиксные деревья и LRU-кэши.

Алгоритмы сгруппированы по темам (математика, множества, строки, поиск, сортировка, графы, криптография и несколько примеров машинного обучения), а также по подходам: полный перебор, жадные алгоритмы, «разделяй и властвуй», динамическое программирование и поиск с возвратом. Для каждого алгоритма указан уровень сложности и дана ссылка на отдельную страницу с пояснением.

В репозитории также есть таблицы сложности Big O для структур данных и алгоритмов сортировки, а также npm-скрипты для установки зависимостей, запуска ESLint и тестов с фильтрацией по имени.

Ключевые возможности

  • 01Реализованы основные структуры данных, включая связные списки, кучи, префиксные деревья и несколько разновидностей деревьев.
  • 02Алгоритмы сгруппированы по темам и подходам, например по динамическому программированию и поиску с возвратом.
  • 03Для каждого алгоритма есть ссылка на отдельную страницу с пояснениями, дополнительными материалами и видео.
  • 04Включены сравнительные таблицы сложности Big O для структур данных и алгоритмов сортировки.
  • 05Есть npm-скрипты для проверки кода линтером и запуска тестов, в том числе с фильтрацией по имени.

Сценарии использования

  • Подготовка к техническим собеседованиям, на которых проверяют знание алгоритмов на JavaScript.
  • Изучение работы структуры данных или алгоритма сортировки по его реализации.
  • Поиск временной и пространственной сложности распространённых структур данных и алгоритмов сортировки.
  • Использование кода как примера при реализации похожей логики в проекте на JavaScript.

Темы

Частые вопросы

Что такое javascript-algorithms?
Подборка классических алгоритмов и структур данных на JavaScript с пояснениями и ссылками на дополнительные материалы. В этом репозитории реализован широкий набор распространённых алгоритмов и структур данных на JavaScript. Здесь представлены базовые структуры — связные списки, стеки, очереди, хеш-таблицы и кучи, — а также деревья (BST, AVL, красно-чёрные, отрезков и Фенвика), графы, префиксные деревья и LRU-кэши.
javascript-algorithms можно использовать бесплатно? Какая у него лицензия?
javascript-algorithms распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
javascript-algorithms всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в javascript-algorithms — 26 июл. 2026 г..
Для чего можно использовать javascript-algorithms?
Подготовка к техническим собеседованиям, на которых проверяют знание алгоритмов на JavaScript. Изучение работы структуры данных или алгоритма сортировки по его реализации. Поиск временной и пространственной сложности распространённых структур данных и алгоритмов сортировки. Использование кода как примера при реализации похожей логики в проекте на JavaScript.
Где скачать javascript-algorithms?
Исходный код и инструкции по установке — на GitHub: https://github.com/trekhleb/javascript-algorithms

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Открытые библиотеки для React и Svelte, позволяющие создавать интерактивные интерфейсы на основе узлов: блок-схемы, графы и редакторы рабочих процессов.

38,7 тыс.2,6 тыс.TypeScriptMITОбновлён 15 часов назад