Agent Skills
返回列表
🎓

JS 算法数据结构教练

教育学习 更新于 2026.08.28

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/dsa-js-data-structures-algorithms-javascript。

技能介绍

很多前端工程师刷算法题时容易陷入两个误区:要么看到题目就直接套双层循环,要么背了一堆解法却说不清为什么用这种结构。JS 算法数据结构教练要解决的就是这个问题——它不只给代码,而是强迫你在做每道题前先回答:为什么这里用哈希而不是双指针?时间复杂度为什么是 O(n) 而不是 O(n²)?

按信号匹配方法

这个技能的核心资产是一张「识别信号表」,把你常见的题目描述映射到对应的数据结构和算法模板。比如:

  • 看到 两个数之和 → 哈希表 O(n) 替代双层循环
  • 看到 有序数组查找 → 二分
  • 看到 最近最少使用(LRU) → 用 Map 的保序特性实现
  • 看到 树层序遍历 → BFS + 队列
  • 看到 最优子结构 → 动态规划,先定状态再写转移方程

它鼓励你用 JS 自带的特性(Map/Set/数组方法),但要求你理解底层原理,而不是当成黑盒调用。

卡住时的自救流程

当面对一道 DP 题毫无头绪,或者树的递归写得乱七八糟时,技能内置了一套分层提示流程:

  1. 降级:DP 不会先手动填小表,找「最后一步决策」。
  2. 提示分层:递归写不稳先画递归树,再补 base case 与边界。
  3. 重做:同一模板做 3 道同类题(如 0/1 背包变体)固化。
  4. 登记:把「为什么这里用 Map 而非数组」写成一条规律卡。

此外还提供了在职学习的 10 周节奏模板,核心铁律是新题与复习旧题保持 1:1 的比例,每周日做一套模拟并复盘错因。

适用边界

这是一个教学辅助工具,不是代写神器。它不提供题解代写、不承诺「刷多少题就能上岸」,目的是帮你建立真实的算法能力。涉及 JS 语言 API 的具体细节,请以 MDN 和当前引擎的实现为准,技能本身不覆盖语言版本差异。

使用场景

  • 准备前端面试时,遇到动态规划题不知道如何定义状态和转移方程
  • 写业务代码时遇到 LRU 缓存需求,想用 Map 实现但不清楚保序原理
  • 刷 LeetCode 时遇到树层序遍历,BFS 和队列配合写不稳或边界处理有误
  • 对算法复杂度不敏感,写完代码后无法判断 O(n) 还是 O(n²)

适合人员

  • 准备跳槽的前端工程师,希望系统补齐算法短板以通过大厂技术面
  • 遇到复杂数据处理瓶颈的 Node.js 后端开发,需要用更优的数据结构优化性能
  • 正在学习计算机科学的转行人员,想在 JavaScript 语境下建立算法思维
  • 有一定编码经验但没刷过题的程序员,想在日常工作中写出更高效的业务代码