Repolode
trekhleb

trekhleb/javascript-algorithms

用 JavaScript 实现的经典算法与数据结构合集,附有原理说明和延伸阅读链接。

Star
196,685
Fork
31,010
未关闭 Issue
413
最近提交
3个月前

这是什么?

本仓库用 JavaScript 实现了大量常见的算法与数据结构。数据结构部分包括链表、栈、队列、哈希表、堆,以及二叉搜索树、AVL 树、红黑树、线段树、树状数组、图、字典树和 LRU 缓存等。

算法部分按主题(数学、集合、字符串、搜索、排序、图论、密码学、部分机器学习示例等)和范式(暴力法、贪心、分治、动态规划、回溯等)分类整理,每个条目标注了难度等级并链接到对应的说明页面。

仓库还提供了数据结构与排序算法的 Big O 复杂度对照表,并通过 npm 脚本支持安装依赖、运行 ESLint 以及按名称执行测试。

核心功能

  • 01实现链表、堆、字典树以及多种树结构等核心数据结构。
  • 02算法按主题和范式(如动态规划、回溯)分类组织。
  • 03每个算法都链接到单独的说明页面,附有延伸阅读和视频资料。
  • 04提供数据结构与排序算法的 Big O 复杂度对照表。
  • 05提供 lint 与测试脚本,支持按名称筛选运行测试。

适用场景

  • 准备使用 JavaScript 编写的算法类技术面试。
  • 通过阅读实现代码学习数据结构或排序算法的原理。
  • 查询常见数据结构与排序算法的时间和空间复杂度。
  • 在 JavaScript 项目中实现类似逻辑时作为参考。

标签

常见问题

javascript-algorithms 是什么?
用 JavaScript 实现的经典算法与数据结构合集,附有原理说明和延伸阅读链接。 本仓库用 JavaScript 实现了大量常见的算法与数据结构。数据结构部分包括链表、栈、队列、哈希表、堆,以及二叉搜索树、AVL 树、红黑树、线段树、树状数组、图、字典树和 LRU 缓存等。
javascript-algorithms 可以免费使用吗?用的什么许可证?
javascript-algorithms 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
javascript-algorithms 还在维护吗?
半年内有更新。javascript-algorithms 最近一次提交是在 2026年7月26日。
javascript-algorithms 适合用来做什么?
准备使用 JavaScript 编写的算法类技术面试。 通过阅读实现代码学习数据结构或排序算法的原理。 查询常见数据结构与排序算法的时间和空间复杂度。 在 JavaScript 项目中实现类似逻辑时作为参考。
在哪里获取 javascript-algorithms?
源代码和安装说明在 GitHub 上:https://github.com/trekhleb/javascript-algorithms

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目