经典算法与数据结构培训课程(选修)
将“经典算法与数据结构”大类细分为以下八个专题,便于学生根据自身基础和需求自主选修。
专题一:算法入门与复杂度分析
|
项目
|
内容
|
|
课程名称
|
算法入门与复杂度分析
|
|
培训对象
|
零基础学员、大一新生、跨专业转型人员
|
|
培训目标
|
使学员建立算法思维,掌握算法基本概念和时间/空间复杂度分析方法,能够评估算法的效率。
|
|
课程内容
|
• 算法概述:算法的定义、特性、表示方法(自然语言/流程图/伪代码)
• 时间复杂度:大O表示法、常见复杂度(O(1)/O(log n)/O(n)/O(n²))
• 时间复杂度分析:循环复杂度、递归复杂度、最好/最坏/平均情况
• 空间复杂度:算法内存占用分析、原地算法概念
• 复杂度比较:不同复杂度算法效率对比、实际应用中的选择
• 递归算法初步:递归原理、递归函数设计、递归树概念
• 算法正确性证明:循环不变量、数学归纳法初步
• 算法优化思想:空间换时间、预处理优化、剪枝思想
• 算法分析工具:算法可视化工具使用、性能测试方法
• 实战练习:分析常见代码段的复杂度、简单算法设计
|
专题二:基础排序与查找算法
|
项目
|
内容
|
|
课程名称
|
基础排序与查找算法
|
|
培训对象
|
已掌握编程基础的程序员、软件开发初学者
|
|
培训目标
|
使学员掌握常用排序和查找算法的原理、实现和适用场景,能够根据实际问题选择合适的算法。
|
|
课程内容
|
• 排序算法概述:排序算法的稳定性、内排序与外排序、算法分类
• 冒泡排序:原理、实现、优化(鸡尾酒排序)、复杂度分析
• 选择排序:直接选择排序、堆排序预备知识
• 插入排序:直接插入排序、折半插入排序、希尔排序原理
• 归并排序:分治思想、递归实现、合并过程、复杂度分析
• 快速排序:分区操作、递归实现、时间复杂度分析、优化策略
• 计数排序:适用条件、算法原理、稳定性实现
• 桶排序:桶划分、桶内排序、适用场景分析
• 基数排序:LSD/MSD、按位分配、时间复杂度
• 查找算法:顺序查找、二分查找(递归/迭代)、插值查找、斐波那契查找
|
专题三:线性表与字符串算法
|
项目
|
内容
|
|
课程名称
|
线性表与字符串算法
|
|
培训对象
|
已掌握基础语法和算法的程序员、软件工程师
|
|
培训目标
|
使学员掌握数组、链表、栈、队列上的核心算法,以及字符串处理的基本算法。
|
|
课程内容
|
• 数组算法:数组遍历、前缀和、差分数组、二维数组操作
• 链表基础:单链表、双链表、循环链表的基本操作
• 链表经典算法:链表反转(迭代/递归)、环检测(快慢指针)、相交链表
• 链表进阶算法:合并有序链表、K个一组翻转链表、复制带随机指针的链表
• 栈算法:括号匹配、表达式求值(中缀/后缀)、单调栈(下一个更大元素)
• 队列算法:循环队列、双端队列、滑动窗口最大值(单调队列)
• 字符串基础:字符串存储、编码问题、KMP算法原理
• KMP算法深入:next数组计算、匹配过程、时间复杂度分析
• 字符串匹配扩展:Boyer-Moore、Rabin-Karp算法
• 字符串其他算法:最长回文子串(中心扩展/动态规划)、字符串哈希
|
专题四:树与二叉树算法
|
项目
|
内容
|
|
课程名称
|
树与二叉树算法
|
|
培训对象
|
有一定算法基础的开发者、数据结构和算法学习者
|
|
培训目标
|
使学员掌握树形结构的各种遍历算法、二叉搜索树操作、平衡树原理,能够解决树相关的问题。
|
|
课程内容
|
• 树基础:树的定义、术语、存储结构(双亲/孩子/兄弟表示法)
• 二叉树:二叉树性质、满二叉树、完全二叉树、存储结构
• 二叉树遍历:前序/中序/后序(递归/迭代)、层序遍历
• 遍历应用:根据遍历序列重建二叉树、二叉树序列化
• 二叉搜索树:定义、查找、插入、删除操作、时间复杂度分析
• 平衡树初步:AVL树旋转原理、红黑树基本概念
• 堆与优先队列:堆的定义、建堆算法、堆排序、优先队列应用
• 树与递归:递归在树中的应用、分治法解决树问题
• 树形DP:树的直径、树的最大独立集、树形动态规划
• 经典树问题:最近公共祖先(LCA)、二叉树的最近公共祖先、树的路径问题
|
五:图算法基础与遍历
|
项目
|
内容
|
|
课程名称
|
图算法基础与遍历
|
|
培训对象
|
已掌握树和基础算法的程序员、数据结构进阶学习者
|
|
培训目标
|
使学员掌握图的表示方法、遍历算法,能够解决连通性、拓扑排序等基础图问题。
|
|
课程内容
|
• 图基础:图的定义、术语(有向/无向/加权/连通)、度/入度/出度
• 图的存储:邻接矩阵、邻接表、链式前向星、存储结构对比
• 深度优先搜索(DFS):递归实现、栈实现、DFS树与后向边
• 广度优先搜索(BFS):队列实现、层次遍历、最短路径初步
• DFS应用:连通分量、二分图判定、拓扑排序(DFS法)
• BFS应用:无权图最短路径、迷宫问题、状态空间搜索
• 拓扑排序:Kahn算法(基于入度)、应用场景(任务调度)
• 图的连通性:强连通分量、Kosaraju算法、Tarjan算法
• 桥与割点:无向图的桥、割点判定算法
• 并查集进阶:路径压缩、按秩合并、连通分量动态维护
|
专题六:图论经典算法
|
项目
|
内容
|
|
课程名称
|
图论经典算法
|
|
培训对象
|
有一定图基础的算法学习者、竞赛选手、算法工程师预备役
|
|
培训目标
|
使学员掌握图论中的经典算法,能够解决最短路径、最小生成树、网络流等核心问题。
|
|
课程内容
|
• 最短路径基础:松弛操作、负权边问题、最短路径性质
• Dijkstra算法:原理、优先队列实现、时间复杂度、适用场景
• Bellman-Ford算法:算法原理、负环检测、SPFA优化
• Floyd-Warshall算法:动态规划思想、多源最短路径、传递闭包
• 最小生成树:Prim算法(贪心思想、堆优化)、Kruskal算法(并查集)
• 最小生成树应用:次小生成树、瓶颈生成树
• 网络流基础:流网络定义、最大流最小割定理
• 最大流算法:Ford-Fulkerson方法、Edmonds-Karp算法、Dinic算法
• 二分图匹配:匈牙利算法、KM算法(带权匹配)
• 图论综合应用:旅行商问题(TSP)、状态压缩DP、欧拉回路
|
专题七:动态规划与优化
|
项目
|
内容
|
|
课程名称
|
动态规划与优化
|
|
培训对象
|
已掌握基础算法的进阶学习者、算法工程师、技术面试准备者
|
|
培训目标
|
使学员掌握动态规划的核心思想和常见模型,能够识别DP问题并设计状态转移方程。
|
|
课程内容
|
• 动态规划基础:最优子结构、重叠子问题、记忆化搜索
• 一维DP:斐波那契、爬楼梯、打家劫舍、最大子数组和
• 二维DP:不同路径、最小路径和、最长公共子序列
• 背包问题:0-1背包、完全背包、多重背包、分组背包
• 区间DP:石子合并、矩阵链乘、回文串分割
• 树形DP:树的直径、最大独立集、树形背包
• 状态压缩DP:旅行商问题、棋盘覆盖、子集枚举
• 数位DP:数字计数、不含连续1的数字、数位统计
• DP优化:滚动数组、四边形不等式、斜率优化初步
• 动态规划实战:经典DP问题精讲、DP问题识别技巧
|
专题八:算法面试与竞赛冲刺
|
项目
|
内容
|
|
课程名称
|
算法面试与竞赛冲刺
|
|
培训对象
|
应届毕业生、求职者、准备跳槽的在职工程师、竞赛选手
|
|
培训目标
|
使学员掌握大厂算法面试的高频考点与解题技巧,通过高强度刷题与模拟面试,提升面试通过率和竞赛成绩。
|
|
课程内容
|
• 面试算法全景:大厂面试算法考察范围、难度分级、备考策略
• 高频考点精讲:数组/链表、树/图、动态规划、字符串、哈希表
• 解题模板与技巧:双指针、滑动窗口、二分搜索、回溯模板
• 数据结构强化:LRU/LFU缓存设计、并查集应用、线段树实战
• 动态规划专题:背包九讲、区间DP、树形DP、状压DP
• 图论专题:最短路径、最小生成树、拓扑排序、并查集
• 字符串专题:KMP、Trie树、AC自动机、后缀数组
• 刷题策略:LeetCode分类刷题计划、错题本管理、复杂度优化
• 面试模拟:高频真题解析、白板编程训练、时间压力应对
• 竞赛技巧:ACM/ICPC常用技巧、代码优化、常用模板库
|
专题一览表
|
专题
|
课程名称
|
难度
|
先修要求
|
核心价值
|
|
一
|
算法入门与复杂度分析
|
⭐☆☆
|
无
|
建立算法思维基础
|
|
二
|
基础排序与查找算法
|
⭐⭐☆
|
专题一
|
掌握经典基础算法
|
|
三
|
线性表与字符串算法
|
⭐⭐☆
|
专题一、二
|
掌握数组/链表/字符串操作
|
|
四
|
树与二叉树算法
|
⭐⭐⭐
|
专题一、二
|
掌握树形结构算法
|
|
五
|
图算法基础与遍历
|
⭐⭐⭐
|
专题四
|
掌握图的表示与遍历
|
|
六
|
图论经典算法
|
⭐⭐⭐⭐
|
专题五
|
掌握最短路径、网络流等
|
|
七
|
动态规划与优化
|
⭐⭐⭐⭐
|
专题一、二
|
掌握动态规划核心思想
|
|
八
|
算法面试与竞赛冲刺
|
⭐⭐⭐⭐
|
全专题
|
提升应试和竞赛能力
|
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获