当前位置: 首页 > news >正文

“链式前向星”等三种存图方式分别输出“无向无权图”的“DFS序列”

【DFS序列】
DFS序列(深度优先搜索序列),是树或图结构在深度优先遍历过程中生成的节点访问顺序记录。
下面三段代码,分别采用
链式前向星邻接表邻接矩阵存图,输出图的“DFS序列”。

【DFS:链式前向星

#include <bits/stdc++.h>
using namespace std;const int N=1e5+5;
int h[N],e[N<<1],ne[N<<1],idx;
bool st[N];
int n,m,x;void add(int a,int b) {e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}void dfs(int u) {cout<<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() {cin>>n>>m;memset(h,-1,sizeof(h));while(m--) {int a,b;cin>>a>>b;add(a,b),add(b,a);}cin>>x;dfs(x);return 0;
}/*
in:
6 5
2 1
3 2
4 3
5 2
6 1
2out:
2 5 3 4 1 6
*/


【DFS:邻接表

#include <bits/stdc++.h>
using namespace std;const int N=1e5+5;
vector<int> g[N];
bool st[N];
int n,m,x;void dfs(int u) {cout<<u<<" ";st[u]=true;for(int i=0; i<g[u].size(); i++) {int j=g[u][i];if(!st[j]) dfs(j);}
}int main() {cin>>n>>m;while(m--) {int a,b;cin>>a>>b;g[a].push_back(b);g[b].push_back(a);}cin>>x;dfs(x);return 0;
}/*
in:
6 5
2 1
3 2
4 3
5 2
6 1
2out:
2 1 6 3 4 5
*/


【DFS:邻接矩阵

#include <bits/stdc++.h>
using namespace std;const int N=100;
int g[N][N];
bool st[N];
int n,m,x;void dfs(int u) {cout<<u<<" ";st[u]=true;for(int i=1; i<=n; i++) {if(!st[i] && g[u][i]!=0) dfs(i);}
}int main() {cin>>n>>m;while(m--) {int a,b;cin>>a>>b;g[a][b]=g[b][a]=1;}cin>>x;dfs(x);return 0;
}/*
in:
6 5
2 1
3 2
4 3
5 2
6 1
2out:
2 1 6 3 4 5
*/






【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/139369904
https://blog.csdn.net/hnjzsyjyj/article/details/147622977
https://blog.csdn.net/hnjzsyjyj/article/details/140361781





 

http://www.xdnf.cn/news/282259.html

相关文章:

  • ABC404E 题解
  • 2025牛客五一集训派对day4
  • 纯继电器电路控制小车自动往复运动
  • (39)VTK C++开发示例 ---选择区域
  • MFiX(Multiphase Flow with Interphase eXchanges)软件介绍
  • 5块钱的无忧套餐卡可以变成流量卡吗
  • Winform(10.常用控件3)
  • ResNet改进(36):ResNeXt与ResNet的混合模型实现
  • Spring AI 实战:第十一章、Spring AI Agent之知行合一
  • 线程与进程深度解析:从fork行为到生产者-消费者模型
  • Raycaster光线投射
  • OPENGLPG第九版学习 -视口变换、裁减、剪切与反馈
  • dpm_sysfs_add
  • 《算法精解:C语言描述》note-2 链表
  • 文章记单词 | 第64篇(六级)
  • 【Godot】使用 Shader 实现可调节的精确切角效果
  • 超详细讲解C语言转义字符\a \b \r \t \? \n等等
  • 数模13种可视化脚本-Python
  • QT设计权限管理系统
  • BUUCTF Pwn wustctf2020_closed WP
  • 【JAVA】String类深度解析:不可变性与常量池(10)
  • 五年级数学知识边界总结思考-上册
  • 含铜废水的资源化利用
  • vue-chat 开源即时聊天系统web本地运行方法
  • python进阶(3)字符串格式化
  • 普通IT的股票交易成长史--20250504实盘记录
  • 【MyBatis-2】深入浅出MyBatis开发流程:从入门到实战
  • MATLAB基于格拉姆角场与2DCNN-BiGRU的轴承故障诊断模型
  • 10倍速学完斯坦福的大模型课程
  • 数据工程:数据清洗、特征工程与增强技术对模型性能的基础性影响