# JavaScript版数据结构与算法1-15完整版

## 在线播放

{% embed url="<https://www.youtube.com/playlist?list=PLwIrqQCQ5pQmjH6YyFvH2A9FYL6bBB4Ra>" %}

## 附件下载

{% file src="<https://797169036-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MH6pjYea7exP4JAahg7%2F-MNF9WHywK5W7BlS-NYq%2F-MNF9__t3kttC2AAXk5z%2Fjs-algorithm-master.zip?alt=media&token=13c77eb7-47d6-4f9c-afa1-944449900017>" %}
点击下载
{% endfile %}

## 课程地址

1 1 课程介绍

1 2 数据结构与算法简介

1 3 如何刷 LeetCode？

2 1 时间复杂度计算

2 2 空间复杂度计算

3 1 栈简介

3 2 什么场景下用栈

3 3 LeetCode：20 有效的括号

3 4 前端与栈：JS 中的函数调用堆栈

3 5 栈 章节总结

4 1 队列简介

4 2 什么场景用队列

4 3 LeetCode：933 最近的请求次数

4 4 前端与队列：JS 异步中的任务队列

4 5 队列 章节总结

5 1 链表简介

5 2 LeetCode：237 删除链表中的节点

5 3 LeetCode：206 反转链表

5 4 LeetCode：2 两数相加

5 5 LeetCode：83 删除排序链表中的重复元素

5 6 LeetCode：141 环形链表

5 7 前端与链表：JS 中的原型链

5 8 前端与链表：使用链表指针获取 JSON 的节点值

5 9 链表 章节总结

6 1 集合简介

6 2 LeetCode：349 两个数组的交集

6 3 前端与集合：使用 ES6 中 Set

6 4 集合章节总结

7 1 字典简介

7 2 LeetCode：349 两个数组的交集

7 3 LeetCode：20 有效的括号

7 4 LeetCode：1 两数之和

7 5 LeetCode：3 无重复字符的最长子串

7 6 LeetCode：76 最小覆盖子串

7 7 字典 章节总结

8 1 树简介

8 2 深度与广度优先遍历

8 3 二叉树的先中后序遍历

8 4 二叉树的先中后序遍历（非递归版）

8 5 LeetCode：104 二叉树的最大深度

8 6 LeetCode：111 二叉树的最小深度

8 7 LeetCode：102 二叉树的层序遍历

8 8 LeetCode：94 二叉树的中序遍历

8 9 LeetCode：112 路径总和

8 10 前端与树：遍历 JSON 的所有节点值

8 11 前端与树：渲染 Antd 中的树组件

8 12 树 章节总结

9 1 图简介

9 2 图的深度广度优先遍历

9 3 LeetCode：65 有效数字

9 4 LeetCode：417 太平洋大西洋水流问题

9 5 LeetCode：133 克隆图

9 6 图 章节总结

10 1 堆简介

10 2 JavaScript 实现：最小堆类

10 3 LeetCode：215 数组中的第 K 个最大元素

10 4 LeetCode：347 前 K 个高频元素

10 5 LeetCode：23 合并K个排序链表

10 6 堆 章节总结

11 1 排序和搜索简介

11 2 JavaScript 实现：冒泡排序

11 3 JavaScript 实现：选择排序

11 4 JavaScript 实现：插入排序

11 5 JavaScript 实现：归并排序

11 6 JavaScript 实现：快速排序

11 7 JavaScript 实现：顺序搜索

11 8 JavaScript 实现：二分搜索

11 9 LeetCode：21 合并两个有序链表

11 10 LeetCode：374 猜数字大小 慕课网 2020 07 18 22 04

11 11 排序与搜索 章节总结 慕课网 2020 07 18 22 07

12 1 分而治之简介

12 2 LeetCode：374 猜数字大小

12 3 LeetCode：226 翻转二叉树

12 4 LeetCode：100 相同的树

12 5 LeetCode：101 对称二叉树

12 6 分而治之 章节总结

13 1 动态规划简介

13 2 LeetCode：70 爬楼梯

13 3 LeetCode：198 打家劫舍

13 4 动态规划 章节总结

14 1 贪心算法简介

14 2 LeetCode：455 分饼干

14 3 LeetCode：122 买卖股票的最佳时机 II

14 4 贪心算法 章节总结

15 1 回溯算法简介

15 2 LeetCode：46 全排列

15 3 LeetCode：78 子集

15 4 回溯算法 章节总结

15 5 回顾与总结


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wang2dog.gitbook.io/2dog-channel/bian-cheng-xue-xi/javascript/javascript-ban-shu-ju-jie-gou-yu-suan-fa-115-wan-zheng-ban.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
