用深度优先搜索建立图的邻接表。
g:array[1..100,1..100]of longint;
num:array[1..100]of longint;
v:array[1..100]of boolean;
n,m:longint;
var
i,x,y:longint;
begin
readln(n,m);
for i:=1 to m do
begin
readln(x,y);
inc(num[x]);
inc(num[y]);
g[x,num[x]]:=y;
g[y,num[y]]:=x;
end;
fillchar(v,sizeof(v),true);
var
j:longint;
begin
write(x,' ');
v[x]:=false;
for j:=1 to num[x] do
if v[g[x,j]] then dfs(g[x,j]);
init;
dfs(1);
程序:
var
procedure init;
end;
procedure dfs(x:longint);
end;
begin
end.
本文介绍了一种使用深度优先搜索(DFS)算法来构建图的邻接表的方法。程序首先初始化图,并通过读取节点间的连接关系来构建邻接表。之后,通过DFS遍历所有可达节点并打印它们,以此验证邻接表的正确性。
168万+

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



