收藏

JavaScript版数据结构与算法 轻松解决前端算法面试

提升编程内功,补齐面试中的算法短板

JavaScript版数据结构与算法 轻松解决前端算法面试

¥299.00
难度 中级 时长 15小时 学习人数 2417 综合评分 9.99
  • 第1章 数据结构与算法简介 试看 3 节 | 31分钟

    本章中介绍了什么是数据结构与算法、为什么要用数据结构与算法、如何学习数据结构与算法。此外,还介绍了如何高效刷 LeetCode。总之,关于这门课,你想知道的都在这里!

    收起列表

    • 视频: 1-1 课程介绍 (08:30) 试看
    • 视频: 1-2 数据结构与算法简介 (05:27)
    • 视频: 1-3 如何刷 LeetCode? (16:25)
  • 第2章 时间/空间复杂度计算 3 节 | 9分钟

    只会做题可不行,还得会分析时间复杂度和空间复杂度,快来做个追求极致的程序员吧!

    收起列表

    • 视频: 2-1 时间复杂度计算 (05:47)
    • 视频: 2-2 空间复杂度计算 (02:23)
    • 作业: 2-3 【勤于思考,夯实学习成果】阶段思考题
  • 第3章 数据结构之“栈” 7 节 | 43分钟

    从本章开始将进入数据结构学习的阶段。栈是最简单的数据结构,让我们用后进先出的栈来解决各种问题吧!

    收起列表

    • 视频: 3-1 栈简介 (05:41)
    • 视频: 3-2 什么场景下用栈 (07:23)
    • 视频: 3-3 LeetCode:20.有效的括号 (13:16)
    • 视频: 3-4 前端与栈:JS 中的函数调用堆栈 (05:23)
    • 视频: 3-5 LeetCode:144. 二叉树的前序遍历 (09:09)
    • 视频: 3-6 栈-章节总结 (01:58)
    • 作业: 3-7 【勤于思考,夯实学习成果】阶段思考题
  • 第4章 数据结构之“队列” 6 节 | 24分钟

    先进先出,是数据结构中队列的特性,如何更好的应用这个与栈相反的特性解决实际问题?这个章节将为你答疑解惑!

    收起列表

    • 视频: 4-1 队列简介 (04:19)
    • 视频: 4-2 什么场景用队列 (05:48)
    • 视频: 4-3 LeetCode:933. 最近的请求次数 (07:16)
    • 视频: 4-4 前端与队列:JS 异步中的任务队列 (04:37)
    • 视频: 4-5 队列-章节总结 (01:43)
    • 作业: 4-6 【勤于思考,夯实学习成果】阶段思考题
  • 第5章 数据结构之“链表” 10 节 | 79分钟

    与栈和队列不同,链表元素的存储不是连续的。链表是非常高频的考点,在前端的日常工作中也有举足轻重的地位,这章一定要好好学习呦!

    收起列表

    • 视频: 5-1 链表简介 (08:42)
    • 视频: 5-2 LeetCode:237.删除链表中的节点 (04:48)
    • 视频: 5-3 LeetCode:206.反转链表 (08:52)
    • 视频: 5-4 LeetCode:2. 两数相加 (12:39)
    • 视频: 5-5 LeetCode:83. 删除排序链表中的重复元素 (07:08)
    • 视频: 5-6 LeetCode:141. 环形链表 (09:05)
    • 视频: 5-7 前端与链表:JS 中的原型链 (22:02) 试看
    • 视频: 5-8 前端与链表:使用链表指针获取 JSON 的节点值 (03:20)
    • 视频: 5-9 链表-章节总结 (01:37)
    • 作业: 5-10 【勤于思考,夯实学习成果】阶段思考题
  • 第6章 数据结构之“集合” 5 节 | 32分钟

    前面的数据结构都是有序的,这次我们要学一个无序且唯一的数据结构——集合,快来一起认识一下他在前端中如何应用吧!

    收起列表

    • 视频: 6-1 集合简介 (08:54)
    • 视频: 6-2 LeetCode:349. 两个数组的交集 (08:58)
    • 视频: 6-3 前端与集合:使用 ES6 中 Set (12:41)
    • 视频: 6-4 集合章节总结 (01:06)
    • 作业: 6-5 【勤于思考,夯实学习成果】阶段思考题
  • 第7章 数据结构之“字典” 8 节 | 64分钟

    字典主要存储键值对,可以用来建立各种映射关系。不管是面试还是工作中实战,字典都是重点关注对象,小伙伴们要注意力集中喽!!!

    收起列表

    • 视频: 7-1 字典简介 (07:23)
    • 视频: 7-2 LeetCode:349. 两个数组的交集 (08:16)
    • 视频: 7-3 LeetCode:20.有效的括号 (05:33)
    • 视频: 7-4 LeetCode:1. 两数之和 (08:19) 试看
    • 视频: 7-5 LeetCode:3. 无重复字符的最长子串 (14:15)
    • 视频: 7-6 LeetCode:76. 最小覆盖子串 (17:42)
    • 视频: 7-7 字典-章节总结 (01:33)
    • 作业: 7-8 【勤于思考,夯实学习成果】阶段思考题
  • 第8章 数据结构之“树” 13 节 | 117分钟

    在我们前端的工作中,树这个数据结构无处不在,级联选择器、DOM树、树插件……,让我们好好再来认识一下这个既熟悉又陌生的“朋友”吧!

    收起列表

    • 视频: 8-1 树简介 (04:07)
    • 视频: 8-2 深度与广度优先遍历 (15:14)
    • 视频: 8-3 二叉树的先中后序遍历 (16:49)
    • 视频: 8-4 二叉树的先中后序遍历(非递归版) (15:17)
    • 视频: 8-5 LeetCode:104. 二叉树的最大深度 (10:38)
    • 视频: 8-6 LeetCode:111. 二叉树的最小深度 (07:30)
    • 视频: 8-7 LeetCode:102. 二叉树的层序遍历 (15:48)
    • 视频: 8-8 LeetCode:94. 二叉树的中序遍历 (08:45)
    • 视频: 8-9 LeetCode:112. 路径总和 (11:01)
    • 视频: 8-10 前端与树:遍历 JSON 的所有节点值 (06:05)
    • 视频: 8-11 前端与树:渲染 Antd 中的树组件 (04:22)
    • 视频: 8-12 树-章节总结 (01:21)
    • 作业: 8-13 【勤于思考,夯实学习成果】阶段思考题
  • 第9章 数据结构之“图” 7 节 | 83分钟

    生活中的航班、道路、朋友圈都是图,图这个数据结构将世界万物“连接”起来。如何将它与前端应用高效组合,在这章中将向大家解开面纱~~

    收起列表

    • 视频: 9-1 图简介 (04:53)
    • 视频: 9-2 图的深度广度优先遍历 (13:28)
    • 视频: 9-3 LeetCode:65. 有效数字 (17:51)
    • 视频: 9-4 LeetCode:417. 太平洋大西洋水流问题 (22:29)
    • 视频: 9-5 LeetCode:133. 克隆图 (22:09)
    • 视频: 9-6 图-章节总结 (01:42)
    • 作业: 9-7 【勤于思考,夯实学习成果】阶段思考题
  • 第10章 数据结构之“堆” 7 节 | 71分钟

    堆是一种特殊的树。可以帮助我们解决排序问题和Kth 类问题。作为面试中的常客,有哪些需要注意点和适用场景呢?快来一起了解一下吧!

    收起列表

    • 视频: 10-1 堆简介 (08:35)
    • 视频: 10-2 JavaScript 实现:最小堆类 (19:38)
    • 视频: 10-3 LeetCode:215. 数组中的第 K 个最大元素 (06:49)
    • 视频: 10-4 LeetCode:347. 前 K 个高频元素 (16:40)
    • 视频: 10-5 LeetCode:23. 合并K个排序链表 (17:00)
    • 视频: 10-6 堆-章节总结 (01:35)
    • 作业: 10-7 【勤于思考,夯实学习成果】阶段思考题
  • 第11章 进阶算法之“搜索排序” 11 节 | 115分钟

    面试中还不会手写快排、归并和二分?别急,快来跟着老师学套路,轻松搞定经典排序与搜索算法。

    收起列表

    • 视频: 11-1 排序和搜索简介 (02:57)
    • 视频: 11-2 JavaScript 实现:冒泡排序 (13:29)
    • 视频: 11-3 JavaScript 实现:选择排序 (14:25)
    • 视频: 11-4 JavaScript 实现:插入排序 (16:12)
    • 视频: 11-5 JavaScript 实现:归并排序 (16:28)
    • 视频: 11-6 JavaScript 实现:快速排序 (12:59)
    • 视频: 11-7 JavaScript 实现:顺序搜索 (03:48)
    • 视频: 11-8 JavaScript 实现:二分搜索 (11:20)
    • 视频: 11-9 LeetCode:21. 合并两个有序链表 (11:16)
    • 视频: 11-10 LeetCode:374. 猜数字大小 (09:21)
    • 视频: 11-11 排序与搜索-章节总结 (02:44)
  • 第12章 算法设计思想之“分而治之” 7 节 | 42分钟

    从本章开始我们就要进入算法设计学习阶段啦!分而治之的口诀一旦背下来,解题只在瞬息之间!还在等什么,快来享受学习的乐趣!

    收起列表

    • 视频: 12-1 分而治之简介 (05:20)
    • 视频: 12-2 LeetCode:374. 猜数字大小 (08:03)
    • 视频: 12-3 LeetCode:226. 翻转二叉树 (11:20)
    • 视频: 12-4 LeetCode:100. 相同的树 (07:56)
    • 视频: 12-5 LeetCode:101. 对称二叉树 (07:13)
    • 视频: 12-6 分而治之-章节总结 (01:26)
    • 作业: 12-7 【勤于思考,夯实学习成果】阶段思考题
  • 第13章 算法设计思想之“动态规划” 5 节 | 38分钟

    斐波那契数列问题、爬楼梯问题……无数经典问题都可以用动态规划来解!还在等什么,快来听老司机讲经~~

    收起列表

    • 视频: 13-1 动态规划简介 (05:52)
    • 视频: 13-2 LeetCode:70. 爬楼梯 (12:49)
    • 视频: 13-3 LeetCode:198. 打家劫舍 (16:40)
    • 视频: 13-4 动态规划-章节总结 (01:46)
    • 作业: 13-5 【勤于思考,夯实学习成果】阶段思考题
  • 第14章 算法设计思想之“贪心算法” 5 节 | 25分钟

    “贪婪”是人的本性,也是算法的精华。干嘛要想得很远?快来看看,贪心算法如何带你今朝有酒今朝醉!

    收起列表

    • 视频: 14-1 贪心算法简介 (04:24)
    • 视频: 14-2 LeetCode:455. 分饼干 (09:42)
    • 视频: 14-3 LeetCode:122. 买卖股票的最佳时机 II (09:02)
    • 视频: 14-4 贪心算法-章节总结 (01:19)
    • 作业: 14-5 【勤于思考,夯实学习成果】阶段思考题
  • 第15章 算法设计思想之“回溯算法” 6 节 | 42分钟

    遇到岔路,先选择一条路走,走不通拐回来走另一条路,直到走通为止。所谓“拐回来”,就是回溯。听起来很高大上?不不不,很简单,来听听老司机怎样逐步剖析吧!

    收起列表

    • 视频: 15-1 回溯算法简介 (06:16)
    • 视频: 15-2 LeetCode:46. 全排列 (12:23)
    • 视频: 15-3 LeetCode:78. 子集 (11:46)
    • 视频: 15-4 回溯算法-章节总结 (03:03)
    • 视频: 15-5 回顾与总结 (07:54)
    • 作业: 15-6 【勤于思考,夯实学习成果】阶段思考题
本课程已完结

试看

全部试看小节



讲师

lewis Web前端工程师

曾就职于奇虎360、中科院计算所,现任BAT资深工程师,在React、Node.js、人工智能等领域具有丰富的开发经验。讲课深入浅出、旁征博引,极具个人风格。

讲师其他课程

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题