JavaScript版 数据结构与算法
【课程介绍】
JavaScript版的数据结构与算法课程。通过讲解 LeetCode 真题来讲述数据结构与算法,动画展示和流程图展示让算法的思想跃然纸上,更好理解。通过这门课的学习可以帮助找工作的同学快速准备算法相关的题目,助力高薪offer。
【课程目录】
- 第1章 课程导学对课程整体进行介绍,让您切实感受到前端工程师学习数据结构与算法的必要性。
- 1-1 课程导学
- 1-2 学习姿势
- 1-3 说明与承诺
- 1-1 课程导学
- 第2章 基础算法之“字符串类”字符串作为JS最基本的数据类型,掌握好字符串类型的算法题目是学习算法最好的入门阶梯,也是业务开发中最受用的部分之一。
- 2-1 环境搭建
- 2-2 反转单词原理讲解
- 2-3 反转单词代码演示
- 2-4 计算子串原理讲解
- 2-5 计算子串代码演示
- 第3章 基础算法之“数组类”数组是JS世界里必不可少的类型,“小小”的数组,“大大”的世界,一维、二维空间、组合、分组、堆栈、队列等等都离不开它,学习这个章节打开潘朵拉的盒子吧。
- 3-1 数组题目介绍
- 3-2 电话号码组合-原理讲解
- 3-3 电话号码组合-代码演示
- 3-4 卡牌分组-原理讲解
- 3-5 卡牌分组-代码演示
- 3-6 种花问题-原理讲解
- 3-7 种花问题-代码演示
- 3-8 格雷编码-原理讲解
- 3-9 格雷编码-代码演示
- 第4章 基础算法之“正则类”正则是让人又爱又恨的JS知识,“爱”它的神通广大,“恨”它的抽象难懂,我们尝试从基础用法到高级模式匹配让你走近它的梦幻世界
- 4-1 重复的子串-原理讲解
- 4-2 重复的子串-代码演示
- 4-3 正则表达式匹配-原理讲解
- 4-4 正则表达式匹配-代码演示
- 第5章 基础算法之“排序类”排序是学生时代标志性的回忆,然而如何魔改“冒泡排序”、“选择排序”让很多看似与排序无关的题目迎刃而解是不是闻所未闻,还等什么呢?
- 5-1 冒泡排序
- 5-2 选择排序
- 5-3 奇偶排序
- 5-4 第K个最大值(1)
- 5-5 第K个最大值(2)
- 5-6 最大区间(1)
- 5-7 最大区间(2)
- 5-8 缺失的第一个正数(1)
- 5-9 缺失的第一个正数(2)
- 5-10 快速排序-基础算法
- 5-11 快速排序-高级算法
- 5-1 冒泡排序
- 第6章 基础算法之“递归类”递归是大家最熟悉的陌生题,往往知道是它的用武之地,可是怎么递归,边界在哪?本章的学习告诉你如何抓住递归的本质,解除你的满脸愕然。
- 6-1 复原IP地址-原理讲解
- 6-2 复原IP地址-代码演示
- 6-3 关联字符串-原理讲解
- 6-4 关联字符串-代码演示
- 第7章 数据结构之“栈”数组具有栈的功能,如何用?如何用栈去解决自定义数学运算(棒球比赛)是不是很好奇?这个章节答疑解惑。
- 7-1 棒球比赛-原理讲解
- 7-2 棒球比赛-代码实操
- 7-3 最大矩形-原理讲解
- 7-4 最大矩阵-代码实操(1)
- 7-5 最大矩阵-代码实操(2)
- 第8章 数据结构之“队列”队列在数组中已经表现的淋漓尽致了,还记得pop和push吗?可是如果面试限制你使用Array,如何脱颖而出呢?答案就在这一章!
- 8-1 循环队列-原理讲解
- 8-2 循环队列-代码实操
- 8-3 任务队列-原理讲解
- 8-4 任务队列-代码实操
- 第9章 数据结构之“链表”链表是一个有序的线性数据结构,对于它而言排序和循环是最基本的两项技能,这个章节从零是实现链表结构到排序、循环检测带你熟知链表结构。
- 9-1 排序链表-原理讲解
- 9-2 排序链表-代码实操
- 9-3 环形链表-原理讲解
- 9-4 环形链表-代码实操
- 第10章 数据结构之“矩阵”矩阵虽不常见,若见既是霹雳。看似和数组无异,操作起来如同嚼蜡。别怕,同样是数组API、递归,这个章节却可以带你行走如飞。
- 10-1 螺旋矩阵-原理讲解
- 10-2 螺旋矩阵-代码实操
- 10-3 旋转图像-原理讲解
- 10-4 旋转图像-代码实操
- 第11章 数据结构之“二叉树”二叉树是数据结构中难度最大的没有之一,如何实现一个二叉树结构并对它遍历难于上青天,学完这个章节会让你牢牢掌握二叉树的基础知识。
- 11-1 对称二叉树-原理讲解
- 11-2 对称二叉树-代码实操
- 11-3 验证二叉搜索树-原理讲解
- 11-4 验证二叉搜索树-代码实操
- 第12章 数据结构之“堆”出去面试数据结构问的最多的就是堆栈和队列了,怎么用JavaScript从零实现一个堆结构是不是很有意义,它又能用在什么场景是不是也志在必得?
- 12-1 堆排序-原理讲解
- 12-2 堆排序-代码演示(1)
- 12-3 堆排序-代码演示(2)
- 12-4 超级丑数-原理讲解
- 12-5 超级丑数-代码演示(1)
- 12-6 超级丑数-代码演示(2)
- 第13章 进阶算法之“贪婪算法”“贪婪”是人的本性,也是算法的精华。众里寻他千百度,只为求得“最优解”,这一章通过两道经典题目揭开它神秘的面纱。
- 13-1 进阶算法介绍
- 13-2 买卖股票最佳时机-原理讲解
- 13-3 买卖股票最佳时机-代码实操
- 13-4 柠檬水找零-原理讲解
- 13-5 柠檬水找零-代码实操
- 第14章 进阶算法之“动态规划”“动态规划”听着就那么高大上,这种思维能让你突破无从下手的尴尬局面,通过分步求解寻找最终结果,精通之后会有种醍醐灌顶的惊叹。
- 14-1 不同路径II-原理讲解
- 14-2 不同路径II-代码实操
- 14-3 k站中转站-原理讲解
- 14-4 k站中转站-代码实操
- 14-5 课程总结
- 第15章 直播视频《前端人的危机如何破解》互联网寒冬下,前端人如何学习?
- 15-1 内容安排
- 15-2 如何学习(入门级)
- 15-3 如何面试(入门级)
- 15-4 如何晋升(入门级)
- 15-5 如何学习(中高级)
- 15-6 如何晋升 一(中高级)
- 15-7 如何晋升 二(中高级)