课程时长
2天(6小时/天)
课程大纲
模块1:数据结构与算法基础
● 数组与字符串
◇ 数组的操作与应用
◇ 字符串的操作与常见算法
● 链表
◇ 单链表、双向链表
◇ 链表的常见操作(插入、删除、反转等)
● 栈与队列
◇ 栈的应用场景与常见题目
◇ 队列的应用场景与常见题目
● 哈希表
◇ 哈希表的原理与应用
◇ 常见哈希表问题
● 树与图
◇ 二叉树、二叉搜索树、平衡树
◇ 图的表示与遍历(DFS、BFS)
模块二:数据结构与算法进阶
● 排序与搜索
◇ 常用排序算法(快速排序、归并排序、堆排序等)
◇ 二分搜索及其应用
● 动态规划
◇ 动态规划的基本思想与步骤
◇ 经典动态规划问题(背包问题、最长子序列等)
● 贪心算法
◇ 贪心算法的基本原理
◇ 典型贪心算法题目解析
● 分治算法
◇ 分治思想与应用场景
◇ 经典分治问题(如合并K个有序链表)
● 回溯算法
◇ 回溯法的应用场景
◇ 经典回溯问题(如N皇后问题、全排列)
● 图论问题
◇ 二分图匹配算法
◇ 网络最大流算法
◇ 最小费用最大流算法
◇ 最短路径算法
◇ 最小生成树算法
◇ 拓扑排序算法
◇ 连通分量算法
● 并查集
◇ 并查集的基本原理
◇ 并查集在图论问题中的应用(如连通分量、最小生成树)
模块3:LeetCode实战训练
● 如何提升比赛中的代码编写效率
◇ 建立你的代码模板:针对常见的算法和数据结构建立自己的代码模板,例如,网络最大小、二分图匹配、DFS、BFS、二分查找、快速排序等算法的模板。
◇ LeetCode助手(Agent使用)
● 病人看病接待问题
● LeetCode 399周比赛
◇ 3162. 优质数对的总数 I
◇ 3163. 压缩字符串 III
◇ 3164. 优质数对的总数 II
◇ 3165. 不包含相邻元素的子序列的最大和