本仓库旨在通过 TypeScript 语言系统性地练习和实现常见的数据结构与算法问题,涵盖数组、堆、栈、队列、链表、二叉树等基础数据结构,以及排序、查找、递归、分治、贪心、动态规划等常见算法思想。每个模块均包含典型例题与实际应用场景,适合刷题、面试准备和算法能力提升。
src/
array/ # 数组相关算法与题目
stack/ # 栈相关实现与题目
queue/ # 队列相关实现与题目
heap/ # 堆结构与优先队列
linked-list/ # 链表相关实现与题目
tree/ # 二叉树/多叉树相关
sort/ # 各类排序算法
search/ # 查找与二分算法
recursion/ # 递归与分治
dp/ # 动态规划
greedy/ # 贪心算法
... # 其他专题
- 数组、链表(单/双向)、栈、队列、堆、哈希表、树、图等
- 排序算法:冒泡、选择、插入、归并、快速、堆排序等
- 查找算法:二分查找、顺序查找等
- 递归与分治:小和问题、逆序对、归并排序等
- 贪心算法:区间调度、最小生成树等
- 动态规划:背包、最长子序列、路径问题等
- 每个结构/算法下设有典型题目,包含题目描述、解题思路、代码实现与注释
- 适当补充 LeetCode、剑指 Offer、面 试高频题
src/
array/
two-sum.ts # 两数之和
remove-duplicates.ts # 删除有序数组中的重复项
stack/
valid-parentheses.ts # 有效括号
sort/
bubble-sort.ts
merge-sort.ts
quick-sort.ts
...
建议每个模块配套单元测试,可使用 Jest 或 Vitest 进行测试。
欢迎补充更多数据结构与算法题目,完善注释与文档。
如有建议或问题,欢迎 issue 交流。