算法基础·搜索与图论·树与图的储存与遍历
Tom Marvolo
这个作者很懒,什么都没留下…
展开
-
树与图的遍历·BFS
大雪菜的课(笔记) 搜索与图论(一) 3.树与图的遍历 (2).BFS 模板(宽度优先遍历 —— 模板题 AcWing 847. 图中点的层次) queue<int> q; st[1] = true; // 表示1号点已经被遍历过 q.push(1); while (q.size()) { int t = q.front(); q.pop(); for (int i = h[t]; i != -1; i = ne[i]) { int j = e原创 2020-07-16 11:30:35 · 217 阅读 · 0 评论 -
树与图的储存
大雪菜的课(笔记) 搜索与图论 树与图的存储 模板 树与图的存储 树是一种特殊的图,与图的存储方式相同。 对于无向图中的边ab,存储两条有向边a->b, b->a。 因此我们可以只考虑有向图的存储。 (1) 邻接矩阵:g[a][b] 存储边a->b (2) 邻接表: // 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点 int h[N], e[N], ne[N], idx; // 添加一条边a->b void add(int a, int b)原创 2020-07-16 10:50:56 · 87 阅读 · 0 评论 -
树与图的遍历·DFS
大雪菜的课(笔记) 搜索与图论(一) 3.树与图的遍历 (1).DFS 模板(深度优先遍历 —— 模板题 AcWing 846. 树的重心) int dfs(int u) { st[u] = true; // st[u] 表示点u已经被遍历过 for (int i = h[u]; i != -1; i = ne[i]) { int j = e[i]; if (!st[j]) dfs(j); } } AcWing846. 树的重心 给定一颗树原创 2020-07-16 10:48:15 · 189 阅读 · 0 评论