课程目录展开/折叠
- 9月份课程直播回放
- 第1课 CSP-J大纲知识专题&初赛真题精讲试学
- 第2课 CSP-J大纲知识专题&初赛真题精讲试学
- 第3课 CSP-J大纲知识专题&初赛真题精讲试学
- 第4课 CSP-J大纲知识专题&初赛真题精讲试学
- 第5课 CSP-J大纲知识专题&初赛真题精讲
- 第6课 CSP-J大纲知识专题&初赛真题精讲
- 第7课 CSP-J大纲知识专题&初赛真题精讲试学
- 第8课 CSP-J大纲知识专题&初赛真题精讲试学
- 第9课 CSP-J大纲知识专题&初赛真题精讲试学
- 第10课 CSP-J大纲知识专题&初赛真题精讲试学
- 第11课 CSP-J大纲知识专题&初赛真题精讲试学
- 第12课 CSP-J大纲知识专题&初赛真题精讲试学
- 第13课 CSP-J大纲知识专题&初赛真题精讲试学
- 第14课 CSP-J大纲知识专题&初赛真题精讲试学
- 第15课 CSP-J大纲知识专题&初赛真题精讲试学
- 第16课 CSP-J大纲知识专题&初赛真题精讲试学
- 第17课 CSP-J大纲知识专题&初赛真题精讲试学
- 第18课 CSP-J大纲知识专题&初赛真题精讲试学
- 8月份课程直播回放
- 第1课 CSP-J大纲知识专题&初赛真题精讲试学
- 第2课 CSP-J大纲知识专题&初赛真题精讲试学
- 第3课 CSP-J大纲知识专题&初赛真题精讲试学
- 第4课 CSP-J大纲知识专题&初赛真题精讲试学
- 第5课 CSP-J大纲知识专题&初赛真题精讲
- 第6课 CSP-J大纲知识专题&初赛真题精讲
- 第7课 CSP-J大纲知识专题&初赛真题精讲
- 第8课 CSP-J大纲知识专题&初赛真题精讲
- 第9课 CSP-J大纲知识专题&初赛真题精讲
- 第10课 CSP-J大纲知识专题&初赛真题精讲
- 第11课 CSP-J大纲知识专题&初赛真题精讲
- 第12课 CSP-J大纲知识专题&初赛真题精讲
- 第13课 CSP-J大纲知识专题&初赛真题精讲
- 第14课 CSP-J大纲知识专题&初赛真题精讲
- 第15课 CSP-J大纲知识专题&初赛真题精讲
- 第16课 CSP-J大纲知识专题&初赛真题精讲
- 第17课 CSP-J大纲知识专题&初赛真题精讲
- 第18课 CSP-J大纲知识专题&初赛真题精讲
- 第19课 CSP-J大纲知识专题&初赛真题精讲
- 第20课 CSP-J大纲知识专题&初赛真题精讲
- 第21课 CSP-J大纲知识专题&初赛真题精讲
- 第22课 CSP-J大纲知识专题&初赛真题精讲
- 第23课 CSP-J大纲知识专题&初赛真题精讲
- 第24课 CSP-J大纲知识专题&初赛真题精讲
- 第25课 CSP-J大纲知识专题&初赛真题精讲
- 第26课 CSP-J大纲知识专题&初赛真题精讲
- 第27课 CSP-J大纲知识专题&初赛真题精讲
- 第28课 CSP-J大纲知识专题&初赛真题精讲
- 第29课 CSP-J大纲知识专题&初赛真题精讲
- 第30课 CSP-J大纲知识专题&初赛真题精讲
- 第31课 CSP-J大纲知识专题&初赛真题精讲
- 第32课 CSP-J大纲知识专题&初赛真题精讲
- 第33课 CSP-J大纲知识专题&初赛真题精讲
- 第34课 CSP-J大纲知识专题&初赛真题精讲
- 第35课 CSP-J大纲知识专题&初赛真题精讲
- 第36课 CSP-J大纲知识专题&初赛真题精讲
- 第37课 CSP-J大纲知识专题&初赛真题精讲
- 第38课 CSP-J大纲知识专题&初赛真题精讲
- 第39课 CSP-J大纲知识专题&初赛真题精讲
- 第40课 CSP-J大纲知识专题&初赛真题精讲
- 7月份课程直播回放
- 第1课 CSP-J初赛试题分析精讲试学
- 第2课 CSP-J复赛试题分析精讲试学
- 第3课 CSP-J初赛试题分析精讲试学
- 第4课 CSP-J复赛试题分析精讲试学
- 第5课 CSP-J初赛试题分析精讲
- 第6课 CSP-J复赛试题分析精讲
- 第7课 CSP-J初赛试题分析精讲
- 第8课 CSP-J复赛试题分析精讲
- 第9课 CSP-J初赛试题分析精讲
- 第10课 CSP-J复赛试题分析精讲
- 第11课 CSP-J初赛试题分析精讲
- 第12课 CSP-J复赛试题分析精讲
- 第13课 CSP-J初赛试题分析精讲
- 第14课 CSP-J复赛试题分析精讲
- 第15课 CSP-J初赛试题分析精讲
- 第16课 CSP-J复赛试题分析精讲
- 第17课 CSP-J初赛试题分析精讲
- 第18课 CSP-J复赛试题分析精讲
- 第19课 CSP-J初赛试题分析精讲
- 第20课 CSP-J复赛试题分析精讲
- 第21课 CSP-J初赛试题分析精讲
- 第22课 CSP-J复赛试题分析精讲
- 第23课 CSP-J初赛试题分析精讲
- 第24课 CSP-J复赛试题分析精讲
- 第25课 CSP-J初赛试题分析精讲
- 第26课 CSP-J复赛试题分析精讲
- 第27课 CSP-J初赛试题分析精讲
- 第28课 CSP-J复赛试题分析精讲
- 第29课 CSP-J初赛试题分析精讲
- 第30课 CSP-J复赛试题分析精讲
- 第31课 CSP-J初赛试题分析精讲
- 第32课 CSP-J复赛试题分析精讲
- 第33课 CSP-J初赛试题分析精讲
- 第34课 CSP-J复赛试题分析精讲
- 第35课 CSP-J初赛试题分析精讲
- 第36课 CSP-J复赛试题分析精讲
- 第37课 CSP-J初赛试题分析精讲
- 第38课 CSP-J复赛试题分析精讲
第1课 CSP-J大纲知识专题&初赛真题精讲
视频时长:55:17播放快捷键
播放/暂停:空格(或鼠标单击) 全屏:F(或鼠标双击) 退出全屏:Esc
快进10 / 30 / 60秒:方向键→ / Ctrl + 方向键→ / Shift + 方向键→
快退10 / 30 / 60秒:方向键← / Ctrl + 方向键← / Shift + 方向键←
本节课讲解配套PPT&板书:








本节课讲解到的源代码
源代码下载:第1课 CSP-J大纲知识专题&初赛真题精讲-源代码下载
1. 图-邻接矩阵-1
#include <bits/stdc++.h>
using namespace std;
char data[] = {'A', 'B', 'C', 'D'};
const int N = 4;
int g[N][N];
/*
int g[N][N] = {
{0, 1, 0, 1},
{1, 0, 1, 1},
{0, 1, 0, 1},
{1, 1, 1, 0}
};
*/
// 无向图 双向边
void addEdge(int u, int v) // u、v都是顶点编号
{
g[u][v] = g[v][u] = 1;
}
bool vis[N];
void dfs(int u)
{
cout << data[u] << ' ';
vis[u] = true;
for (int j = 0; j < N; j ++)
{
if (g[u][j] == 1 && !vis[j])
dfs(j);
}
}
bool inq[N];
void bfs(int u)
{
queue<int> q;
q.push(u);
inq[u] = true;
while (!q.empty())
{
int u1 = q.front();
q.pop();
cout << data[u1] << ' ';
for (int j = 0; j < N; j ++)
{
if (g[u1][j] == 1 && !inq[j])
{
q.push(j);
inq[j] = true;
}
}
}
}
int main()
{
// 构建好图
addEdge(0, 1);
// addEdge(0, 2);
addEdge(0, 3);
// addEdge(1, 0); 不需要重复设置
addEdge(1, 2);
addEdge(1, 3);
addEdge(2, 3);
for (int i = 0; i < N; i ++)
{
for (int j = 0; j < N; j ++)
cout << g[i][j] << ' ';
cout << endl;
}
dfs(0); // A B C D
cout << endl;
memset(vis, 0x00, sizeof(vis));
dfs(1); //B A D C
cout << endl;
bfs(0); // A B D C
cout << endl;
memset(inq, 0x00, sizeof(inq));
bfs(1); // B A C D
return 0;
}
2. 图-邻接表-1
#include <bits/stdc++.h>
using namespace std;
char data[] = {'A', 'B', 'C', 'D'};
vector<int> g[4]; // 邻接表实现
void dfs(int u)
{
}
void bfs(int u)
{
}
int main()
{
// 构建图
g[0].push_back(1);
g[0].push_back(3);
g[1].push_back(0);
g[1].push_back(2);
g[1].push_back(3);
g[2].push_back(1);
g[2].push_back(3);
g[3].push_back(0);
g[3].push_back(1);
g[3].push_back(2);
// 打印邻接表
for (int i = 0; i < 4; i ++)
{
// g[i]
cout << i << "->";
for (int j = 0; j < g[i].size(); j ++)
cout << g[i][j] << ' ';
cout << endl;
}
return 0;
}
本节课无课后练习
本节课答疑
建议大家有问题先通过AI答疑(比如:DeepSeek 等),AI时代需要学会使用AI辅助学习
陈远龙老师视频讲解:如何使用DeepSeek进行答疑?
通过AI未能获得满意解答的,可以联系陈远龙老师答疑
目录