| 级别 | 课次 | 题目 | 知识点(最终实际题目以课件为准) | |
| CSP-S初赛 | 1数据结构-线性表与vector | 选择题 | 1、数据结构概念 2、线性表 3、顺序表 4、单链表 5、双向链表 6、c++类模板,c++ STL迭代器 7、vector | |
| 编程题 | MYOJ(http://47.110.135.197/) 4626: Vector的基本操作 II 4627: Vector的基本操作 III 4628: 中间数 OpenJudge NOI 1.13 42:出书最多 洛谷 P2058 [NOIP2016 普及组] 海港 | |||
| 2栈与队列 | 选择题 | 1、栈,队列 2、顺序栈,顺序队列,循环队列 3、链栈(静态链表,动态链表),链队列 4、c++ STL stack,c++STL queue 5、递归与栈 6、函数调用栈 7、递归栈 8、栈溢出 9.递归解法与非递归解法 | ||
| 编程题 | 1. 实现链队列类(主函数中做测试:输入n,输入n个数字入队,出队输出这n个数字) 2. OpenJudge 数据结构与算法MOOC / 第三章 栈与队列 练习题 10:括号画家 http://dsalgo.openjudge.cn/stackqueue/10/ http://ybt.ssoier.cn:8088/ 1355:字符串匹配问题(strs) 1357:车厢调度(train) P1996 约瑟夫问题 | |||
| 3树和二叉树 | 选择题 | 1、树的相关概念 2、二叉树,满二叉树,完全二叉树,平衡二叉树 3、二叉树的存储结构(双亲表示法,顺序存储,链式存储结构二叉树, 4、二叉树的遍历(先序遍历,中序,后序) 5、树的层次遍历(队列) 6、二叉树的深度,带有指向父节点指针的树 | ||
| 编程题 | 一本通 1338:【例3-3】医院设置 / 洛谷 P1364 医院设置 洛谷 P3884 [JLOI2009]二叉树问题 P1087 [NOIP2004 普及组] FBI 树 P1030 [NOIP2001 普及组] 求先序排列 P4715 【深基16.例1】淘汰赛 P3884 [JLOI2009] 二叉树问题 P5018 [NOIP2018 普及组] 对称二叉树 | |||
| 4表达式和表达式树 | 选择题 | 1、表达式求值 2、 表达式类型-中缀表达式,前缀,后缀 3、用栈求解后缀表达式,递归求解后缀表达式 4、中缀表达式变后缀,中缀表达式求值 5、表达式树(运算符结点,数字结点) 6、表达式树建立过程,后缀,中缀表达式构建表达式树 7、表达式树输出三种表达式 | ||
| 编程题 | P1449 后缀表达式(后缀表达式求值) P1175 表达式的转换(表达式树) OpenJudge 2.2 1696:波兰表达式(前缀表达式求值) 信息学奥赛一本通 1356:计算(calc) (中缀表达式求值,带括号) P1981 [NOIP2013 普及组] 表达式求值 P1310 [NOIP2011 普及组] 表达式的值 P7073 [CSP-J2020] 表达式 OpenJudge 2.2 1696:波兰表达式 要求使用两种方法求解该问题 1. 使用栈求解 2. 使用递归方法求解 | |||
| 5堆 | 选择题 | 1、堆的概念 2、堆的分类(大顶堆,小顶堆) 3、堆的应用(优先队列,快速找出集合中的最值(最大值,最小值)、找中位数、堆排序 4、堆的实现-顺序存储结构二叉树 5、堆化(大顶堆,小顶堆) 6、建堆,堆的操作 7、堆排序 8、优先队列,优先队列的基本操作 9、仿函数、C++ STL 优先队列 priority_queue | ||
| 编程题 | HUSTOJ C6 暑期集训班 小数排序(使用堆排序) ybt 1371 看病 信息学奥赛一本通 1371:看病 http://ybt.ssoier.cn:8088/problem_show.php?pid=1371 可以自己写堆或使用priority_queue求解 洛谷 P1168 中位数 P1631 序列合并 P1878 舞蹈课 | |||
| 6哈夫曼树和二叉搜索树 | 选择题 | 1、哈夫曼树的相关概念(路径,路径长度,权重,带权路径长度,树的带权路径长度, 2、哈夫曼树的构建方法 3、二叉搜索树 4、平衡二叉搜索树(AVL树) 5、树堆(Treap树)伸展树(Splay树)红黑树(RB树) 6、STL中的红黑树 set:集合 multiset:多重集合 map:映射 multimap:多重映射 | ||
| 编程题 | P1090 [NOIP2004 提高组] 合并果子 P1334 瑞瑞的木板 OpenJudge NOI 百练 4080:Huffman编码树 OpenJudge NOI 2.1 2472:子串计算 | |||
| 7图论 | 选择题 | 1、图的概念 2、图的逻辑结构,有向图,无向图,邻接点,完全图,图的分类(稀疏图,稠密图) 3、图的顺序存储结构-邻接矩阵 4、图的链式存储结构-邻接表(静态链表) 5、用静态链表实现的邻接表,也叫链式前向星 6、vector邻接表 7、图的遍历-深度优先遍历,广度优先遍历 8、排序问题-桶排序,选择排序,快速排序,冒泡 | ||
| 编程题 | MYOJ 童程童美 NOIP提高班 图论 7458: 有向图深度优先遍历 要求分别使用邻接矩阵、vector邻接表完成 注意:优先访问编号最小的邻接点 1296: 遍历有向连通图 请用邻接矩阵,或vector数组完成 (用链式前向星需要让边链表结点有序) P5318 【深基18.例3】查找文献 (注意要做排序) P3916 图的遍历 (反向建图) P5663 [CSP-J2019] 加工零件 | |||
| 8路径与环,拓扑排序,并查集 | 选择题 | 1、路径与环 2、路径的长度,简单路径 3、回路(环)简单回路 4、判断图中是否有环,有向图判断是否有环:深搜 + 3色标记 5、图的连通性-无向图的连通性 6、无向图的极大连通子图称为该图的连通分量。 7、有向图的极大强连通子图,称为强连通分量。 8、求强连通分量算法(了解kosaraju算法,tarjan算法) 9、单向连通图,弱连通图 10、并查集用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作: 合并:把两个不相交的集合合并为一个集合。 查询:查询两个元素是否在同一个集合中。 11、路径压缩,按秩合并、并查集的应用 12、拓扑排序 | ||
| 编程题 | MYOJ 童程童美 NOIP提高班 图论 无向图中是否有环 MYOJ 童程童美 NOIP提高班 图论 有向图中是否有环 信息学奥赛一本通 1362:家庭问题(family) 求无向图连通分量数量、顶点最多连通分量顶点数 洛谷 P1551 亲戚洛谷 P1551 亲戚 使用路径压缩优化代码,观察运行时间 HUSTOJ 1284: 犯罪团伙 1302: 无向图中是否有环 ybt 1362:家庭问题(family) 1347 【例4-8】格子游戏 1385 团伙(group) 1386 打击犯罪(black) ybt 1351:【例4-12】家谱树 作业: http://ybt.ssoier.cn:8088/ 信息学奥赛一本通 1362:家庭问题(family) 使用并查集完成 信息学奥赛一本通 1351:【例4-12】家谱树 使用拓扑排序完成 | |||
| 9最小生成树 | 选择题 | 1、带权图 2、带权图的存储结构(邻接表) 3、最小生成树 4、求最小生成树有两种算法 普里姆(Prim)算法 克鲁斯卡尔(Kruskal)算法 5、普里姆(Prim)算法,也叫“加点法”,算法思想:贪心思想 6、Prim算法 堆优化 7、克鲁斯卡尔(Kruskal)算法,也叫“加边法” 8、求最小生成树算法对比 9、单向连通图,弱连通图 10、并查集用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作: 合并:把两个不相交的集合合并为一个集合。 查询:查询两个元素是否在同一个集合中。 11、路径压缩,按秩合并、并查集的应用 12、拓扑排序 | ||
| 编程题 | HUSTOJ 1573: 最短路径-带权无向图 P3366 【模板】最小生成树 ybt 1349:【例4-10】最优布线问题 ybt 1348:【例4-9】城市公交网建设问题 ybt 1391:局域网(net) | |||
| 10最短路径 | 选择题 | 1、最短路径问题 2、解决最短路径问题的算法--深搜,可解, 复杂度O(V!) 广搜,可解不带权图上最短路径问题,复杂度O(V) 3、Floyd算法(Floyd-Warshall算法:又称为插点法,是一种利用动态规划的思想求多源最短路径的算法。图中可以有正权边或负权边) 4. Dijkstra算法,DijkStra堆优化算法 5. SPFA算法(Bellman-Ford算法) 6、最短路径算法比较 | ||
| 编程题 | ybt 1342:【例4-1】最短路径问题 1378:最短路径(shopth) 1381:城市路(Dijkstra) 1382:最短路(Spfa) P3371 【模板】单源最短路径(弱化版) 注意: 可能输入从自己到自己的边 可能反复输入同一条边的权值 P1629 邮递员送信 P1359 租用游艇 | |||
CSP-S大纲
最新推荐文章于 2026-04-15 09:24:34 发布

6743

被折叠的 条评论
为什么被折叠?



