图的深搜,邻接表
作者:
Asukaズ
,
2024-04-05 16:06:08
,
所有人可见
,
阅读 4
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 100010, M = N * 2; // 无向图最多2n-2边
int h[N], e[M], ne[M], idx; // e[]存结点编号, h[],ne[]存下标
bool st[N];
void add(int a, int b) // 添加一条边a->b
{
e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;
}
void dfs(int u)
{
st[u] = true;
for (int i = h[u]; i != -1; i = ne[i])
{
int j = e[i];
if (!st[j]) dfs(j);
}
}
int main()
{
memset(h, -1, sizeof h);
dfs(1);
return 0;
}