
Advanced Algorithms 课程介绍
Advanced Algorithms 课程由 NeetCode 官方出品,是一套完整系统的算法学习指南,完整覆盖技术面试通关必备的基础数据结构与各类核心算法知识。课程适配零基础入门学习者,同样适合想要深耕数据结构、精进算法解题能力的进阶人群。完整修完本课程后,你可以扎实备战各类技术面试,熟练运用各类高级算法高效拆解、解决各类算法题型。
课程核心学习内容
Kadane算法
掌握该算法核心逻辑,快速求解数组内最大子数组和相关题型。
固定大小滑动窗口
吃透固定窗口滑动窗口解题技巧,熟悉该思路各类常见应用场景。
可变大小滑动窗口
灵活应对窗口长度不固定的滑动窗口类算法题目,掌握通用解题模板。
双指针法
借助双指针思路高效处理数组、链表场景下的各类算法难题。
前缀和
弄懂前缀和数组原理并独立编码实现,快速完成任意区间数值求和运算。
快慢指针
运用快慢指针技巧完成链表环路检测等经典算法题型求解。
Trie(字典树)
从零搭建字典树结构,借助Trie实现高性能字符串检索、匹配操作。
并查集(Union-Find)
学习集合管理、集合合并的高效实现方案,掌握并查集经典应用。
线段树(Segment Tree)
独立实现线段树结构,利用线段树完成区间查询、区间数值更新操作。
迭代深度优先搜索(DFS)
摒弃递归写法,通过迭代方式完整实现深度优先搜索遍历逻辑。
双堆法(Two Heaps)
借助双堆组合思路处理中位数查找等专属算法题型。
子集生成
掌握通用代码逻辑,枚举生成一组数据全部可行子集。
组合生成
熟练编写代码,生成指定数据集下全部有效组合结果。
排列生成
学习标准实现方式,生成元素全部不重复排列序列。
Dijkstra算法
掌握图论经典最短路径求解算法,熟练解决单源最短路径问题。
Prim算法
学习最小生成树经典构造算法,理解算法底层执行逻辑。
Kruskal算法
掌握另一套最小生成树构建方案,对比区分Prim与Kruskal适用场景。
拓扑排序
针对有向无环图(DAG)实现标准拓扑排序流程。
0/1背包问题
吃透动态规划经典01背包模型,掌握标准解题思路与代码模板。
无界背包问题
学习物品可无限选取场景下的背包动态规划解法。
最长公共子序列(LCS)
使用动态规划计算两组序列之间的最长公共子序列。
回文
掌握回文字符串判断方法,同时学会回文串构造相关算法。
