数据结构实验之图论二:图的深度遍历

图:基于邻接矩阵的广度优先搜索遍历(BFS) 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit:1000 msMemory Limit:65536 KiB SubmitStatistic Problem Description 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历) Input 输入第一... 阅读详情
Problem Description

请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。

Input

输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。

Output

输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果。

Example Input
1
4 4
0 1
0 2
0 3
2 3
Example Output

0 1 2 3

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int a[110][110], vis[110];
int k, m;
void Dfs(int t);
int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        memset(a, 0, sizeof(a));
        memset(vis, 0, sizeof(vis));
        scanf("%d %d", &k, &m);
        while(m--)
        {
            int i, j;
            scanf("%d %d", &i, &j);
            a[i][j] = a[j][i] = 1;
        }
        printf("0");
        Dfs(0);
        printf("\n");
    }
}
void Dfs(int t)
{
    int i;
    vis[t] = 1;
    for(i = 0; i < k; i++)
    {
        if(!vis[i] && a[t][i])
        {
            printf(" %d", i);
            Dfs(i);
        }
    }
}


数据结构(图)——简单无向图的邻接矩阵,实现广度优先遍历 图有两种表示方法:邻接矩阵和l邻接表,这里使用java实现一个简单的邻接矩阵。 来个栗子尝一尝: 使用邻接矩阵来表示该图 首先定义顶点数组,以及二维数组代表邻接矩阵: private int MAXVEX = 0;//顶点个数,顶点数组长度 private VertexArray&lt;T&gt;[] vertexArray = null;//顶点数组 pr... 阅读详情

相关推荐

BUAA北京地铁乘坐线路查询

【问题描述】 编写一个程序实现北京地铁最短乘坐(站)线路查询,输入为起始站名和目的站名,输出为从起始站到目的站的最短乘坐站换乘线路。注:1. 要求采用Dijkstra算法实现;2)如果两站间存在多条最短路径,找出其中的一条就行。 【输入形式】 文件bgstations.txt为数据文件(可从课程网站中课程信息处下载),包含了北京地铁的线路及车站信息。其格式如下: <地铁线路总条数> <线路1> <线路1站数> <站名1> <换乘状态> <站

weixin_45927469的博客 3873

图的深度遍历

题目描述 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。 输入 输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向...

691

A - 数据结构实验之图论二:图的深度遍历

Description 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。 Input 输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的...

Fusheng_Yizhao的博客 447

矿 第三次数据结构实验

堆是以线性连续方式存储的完全二叉树,小根堆的每一个元素都不大于其左右孩子,现在给你n个完全二叉树数组存储序列,请编程判定相应完全二叉树数组存储序列是否为小根堆。已知一个无向图G的顶点和边,顶点从0依次编号,现在需要深度优先搜索,访问任一邻接顶点时编号小的顶点优先,请编程输出图G的深度优先搜索序列。已知一个无向图G的顶点和边,顶点从0依次编号,现在需要广度优先搜索,访问任一邻接顶点时编号小的顶点优先,请编程输出图G的广度优先搜索序列。后边n行,每行3个数,分别表示一个边的两个顶点和该边的权值。

yueazero的博客 2399

边缘计算【智能+安全检测】系列教程--使用OpenCV+GStreamer实现真正的硬解码,完全消除马赛克

通过现有博客的GStreamer的解码方式解码,大多情况应该存在上图马赛克的问题,请勿紧张,其实上述url并没有调用硬件解码,后面有调用硬件解码的ULR,我们来在接下来的介绍中释获。通过RTSP协议连接海康威视摄像头将图片送入AI推理,发现OpenCV的VideoCapture使用的是软解码大量消耗了cpu的资源,并无法做到实时数据处理存在5秒钟的延时。只能把解码这部分送到硬件解码器去处理分摊掉cpu的压力,

Starry-SkyJing的博客 2427

随机森林的可解释性分析(含python代码)

随机森林的“黑箱”特性逐渐凸显,这使得我们难以理解和解释模型内部的工作机制。对于许多应用场景而言,仅仅获得高准确率的预测结果是不够的;了解预测背后的逻辑同样重要,特别是在医疗诊断、金融风险评估等领域。因此,对随机森林进行可解释性分析变得尤为重要。

m0_59257547的博客 3848

SDUT OJ 数据结构实验之图论二:图的深度遍历

数据结构实验之图论二:图的深度遍历 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。 Input 输入第一行为整数n(0 &lt; n &lt; 100)...

CHEN_ZAN_YU的博客 594

CentOS 7下kkFileView 4.4.0离线部署全攻略(含LibreOffice 7.5配置避坑指南)

本文详细介绍了在CentOS 7环境下离线部署kkFileView 4.4.0的全流程,包括LibreOffice 7.5的配置避坑指南、中文字体解决方案以及企业级运维实践。通过本指南,用户可以在内网环境中快速搭建稳定可靠的文档在线预览服务,提升办公效率。

weixin_28481133的博客 290

数据结构实验之图论二:图的深度遍历DFS SDUT OJ2107

数据结构实验之图论二:图的深度遍历 Time Limit:1000 msMemory Limit:65536 KiB SubmitStatistic Problem Description 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。 Input 输入第一行为整数n(0 < n < 100),表示数据...

Move on 299

概率数据关联(PDA):多目标跟踪的基石算法

1. 为什么需要概率数据关联? 2. 核心思想与假设条件 3. 算法核心:概率分配与状态更新 4. 典型应用场景与优势 5. 挑战与改进方向 6. 下期预告

qq_44965657的博客 1464

文石NoteX3国行版安装 Google Play经验分享

文石NoteX3国行版安装 Google Play经验分享。

2301_80693261的博客 7603
上一篇: 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
下一篇: 数据结构实验之图论三:判断可达性
NTrinity
博客等级 码龄9年 3粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值