图的深度和广度优先遍历
题目描述
以邻接矩阵给出一张以整数编号为顶点的图,其中0表示不相连,1表示相连。按深度和广度优先进行遍历,输出全部结果。要求,遍历时优先较小的顶点。如,若顶点0与顶点2,顶点3,顶点4相连,则优先遍历顶点2.
输入
顶点个数
邻接矩阵
输出
DFS
深度遍历输出
WFS
广度遍历输出,
样例输入
3
0 1 1
1 0 1
1 1 0
样例输出
DFS
0 1 2
1 0 2
2 0 1
WFS
0 1 2
1 0 2
2 0 1
#include <iostream>
#include <queue>using namespace std;
int* visit;
int num;
int** edge;void DFS(int n) {visit[n] = 1;cout << n << " ";for (int i = 0; i <num; i++) {//判断领顶点if (edge[n][i] == 1 && visit[i] == 0)DFS(i);}
}void BFS(int n) {int temp = n;queue<int>q;q.push(temp);while (!q.empty()) {int t = q.front();q.pop();if (visit[t] == 0) {//没访问过就输出cout << t << " ";visit[t] = 1;}for (int i = 0; i <num; i++) {//把他的领顶点放到队中if (edge[t][i] == 1 && visit[i] == 0) {q.push(i);}}}
}void Reset() {for (int i = 0; i < num; i++)visit[i] = 0;cout << endl;
}int main() {cin >> num;//判断是否走过visit = new int[num];for (int i = 0; i < num; i++)visit[i] = 0;//邻接矩阵edge = new int* [num];for (int i = 0; i < num; i++)edge[i] = new int[num];for (int i = 0; i < num; i++)for (int j = 0; j < num; j++)cin >> edge[i][j];cout << "DFS" << endl;;for (int i = 0; i < num; ++i) {DFS(i);Reset();}cout << "WFS" << endl;;for (int i = 0; i < num; ++i) {BFS(i);Reset();}}
相关文章:
图的深度和广度优先遍历
题目描述 以邻接矩阵给出一张以整数编号为顶点的图,其中0表示不相连,1表示相连。按深度和广度优先进行遍历,输出全部结果。要求,遍历时优先较小的顶点。如,若顶点0与顶点2,顶点3,顶点4相连&…...
计算机毕业设计JAVA+SSM+springboot养老院管理系统
设计了养老院管理系统,该系统包括管理员,医护人员和老人三部分。同时还能为用户提供一个方便实用的养老院管理系统,管理员在使用本系统时,可以通过系统管理员界面管理用户的信息,也可以进行个人中心,医护等…...
Flutter路由的几种用法
Flutter路由跳转 基本路由跳转 ElevatedButton(onPressed: () {//基本路由跳转Navigator.of(context).push(MaterialPageRoute(builder: (BuildContext context) {return const SearchPage();}),);},child: const Text("基本路由跳转"), ), search.dart页面 impo…...
力扣119双周赛
第 119 场双周赛 文章目录 第 119 场双周赛找到两个数组中的公共元素消除相邻近似相等字符最多 K 个重复元素的最长子数组找到最大非递减数组的长度 找到两个数组中的公共元素 模拟 class Solution { public:vector<int> findIntersectionValues(vector<int>&…...
Redux,react-redux,dva,RTK
1.redux的介绍 Redux – 李立超 | lilichao.com 2.react-redux 1)react-Redux将所有组件分成两大类 UI组件 只负责 UI 的呈现,不带有任何业务逻辑通过props接收数据(一般数据和函数)不使用任何 Redux 的 API一般保存在components文件夹下容器组件 …...
基于Java SSM框架实现高校信息资源共享平台系统【项目源码+论文说明】计算机毕业设计
基于java的SSM框架实现高校信息资源共享平台系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们…...
SpringMvc入坑系列(一)----maven插件启动tomcat
springboot傻瓜式教程用久了,回过来研究下SSM的工作流程,当然从Spring MVC开始,从傻瓜式入门处理请求和页面交互,再到后面深入源码分析。 本人写了一年多的后端和半年多的前端了。用的都是springbioot和vue,源码一直来…...
Leetcode—337.打家劫舍III【中等】
2023每日刷题(五十二) Leetcode—337.打家劫舍III 算法思想 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(null…...
列表标签的介绍与使用
列表的作用: 整齐、整洁、有序,它作为布局会更加自由和方便。 根据使用情景不同,列表可以分为三大类:无序列表、有序列表和自定义列表 无序列表 <ul> 标签表示 HTML 页面中项目的无序列表,一般会以项目符号呈…...
浅谈什么是语音芯片的白噪音支持功能:打造舒适家居与优质音频体验
随着科技的不断进步和人们对生活质量要求的提升,语音芯片已经成为了现代电子产品中不可或缺的一部分。而在这些语音芯片中,支持白噪音的功能逐渐受到人们的关注。本文将围绕语音芯片中的白噪音支持功能展开讨论,带您领略其带来的舒适家居与优…...
【QED】高昂的猫 Ⅰ
目录 题目背景题目描述输入格式输出格式 测试样例样例说明数据范围 思路核心代码 题目背景 这是小橘。因为它总是看起来很高傲,所以人送外号“高昂的猫”。 题目描述 "锕狗"的房间里放着 n n n ( 1 ≤ n ≤ 1 0 9 ) (1 \leq n \leq 10^9) (1≤n≤109)个…...
Redis如何做内存优化?
Redis如何做内存优化? 1、缩短键值的长度 缩短值的长度才是关键,如果值是一个大的业务对象,可以将对象序列化成二进制数组; 首先应该在业务上进行精简,去掉不必要的属性,避免存储一些没用的数据࿱…...
倪海厦:教你正确煮中药,发挥最大药效
同样的一个汤剂,我开给你,你如果煮的方法不对,吃下去效果就没那么好。 所以,汤,取它的迅捷,速度很快,煮汤的时候还有技巧,你喝汤料的时候,你到底是喝它的气,…...
C++学习笔记:继承
继承 什么是继承?继承的写法基类和派生类的赋值转换继承中的作用域派生类的默认成员函数单继承,多继承,虚拟继承is-a 和 has-a 什么是继承? 继承是C语言面向对象的三大特性之一,是面向对象程序设计使代码可以复用的最重要的手段,基本都是在一个类的基础上为了增加…...
音频/视频、信息和通信技术设备安全标准UL62368-1
UL 62368-1,第 3 版,2019 年 12 月 13 日- UL 音频/视频、信息和通信技术设备安全标准 - 第 1 部分:安全要求 IEC 62368 的这一部分适用于该领域内电气和电子设备的安全音频、视频、信息和通信技术,以及额定电压不超过 600 V 的商…...
macos下安装科研绘图软件Origin
科研人必备软件Origin,主要是考虑到很多期刊都要求绘制origin可编辑的图,所以有些时候必须用这个软件,但是这个软件macos并不支持,所以必须考虑其他的方案,我没有安装虚拟机,而是使用crossover 安装crosso…...
安全快速地删除 MySQL 大表数据并释放空间
一、需求 按业务逻辑删除大量表数据操作不卡库,不能影响正常业务操作操作不能造成 60 秒以上的复制延迟满足以上条件的前提下,尽快删除数据并释放所占空间 表结构如下: create table space_visit_av (userid bigint(20) not null comment 用…...
未使用 “严格模式“(js的问题)
"严格模式"(即在JavaScript源文件的开头包括 "use strict";)是一种自愿在运行时对JavaScript代码执行更严格的解析和错误处理的方式,同时也使它更安全。 但是,不使用严格模式本身并不是一个 &quo…...
Verilog基础:$random系统函数的使用
相关阅读 Verilog基础编辑https://blog.csdn.net/weixin_45791458/category_12263729.html $random系统函数语法的BNF范式如下所示,有关BNF范式相关内容,可以浏览以往文章Verilog基础:巴科斯范式(BNF)。 $random系统函数在每次调用时返回一…...
数据库Delete的多种用法
数据库的Delete操作是用来删除数据库中的数据记录的,它是数据库操作中的一种重要操作,能够帮助用户删除不需要的数据,以便保持数据库的整洁和高效。在使用Delete操作时,需要注意确保操作的准确性和安全性,以免误删重要…...
如何用t3mujinpack为你的Darktable照片添加经典胶片质感:新手完整指南
如何用t3mujinpack为你的Darktable照片添加经典胶片质感:新手完整指南 【免费下载链接】t3mujinpack Collection of film emulation presets for open-source RAW developer software Darktable. 项目地址: https://gitcode.com/gh_mirrors/t3/t3mujinpack 你…...
暗黑破坏神2存档修改完全指南:免费工具5分钟打造完美角色
暗黑破坏神2存档修改完全指南:免费工具5分钟打造完美角色 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾在《暗黑破坏神2》中因为技能点加错而懊恼不已?是否因为稀有装备刷了上百小时仍未掉落而…...
5分钟极速汉化:让Android Studio告别英文困扰的终极方案
5分钟极速汉化:让Android Studio告别英文困扰的终极方案 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 还在为Androi…...
后视摄像系统全解析:从CCD/CMOS到LVDS/以太网,选型安装避坑指南
1. 项目概述:从“选配”到“标配”的视觉革命如果你在最近五年内买过新车,或者关注过汽车配置单,一定会发现一个现象:那个曾经只在高端车型上出现,或者需要额外加钱选装的“倒车影像”功能,现在几乎成了所有…...
5分钟完成Switch注入:TegraRcmGUI终极图形化工具完整指南
5分钟完成Switch注入:TegraRcmGUI终极图形化工具完整指南 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI Switch注入对于许多Nintendo Switch用户…...
React Native Deck Swiper事件处理完全指南:从基础回调到复杂交互
React Native Deck Swiper事件处理完全指南:从基础回调到复杂交互 【免费下载链接】react-native-deck-swiper tinder like react-native deck swiper 项目地址: https://gitcode.com/gh_mirrors/re/react-native-deck-swiper React Native Deck Swiper是一…...
最后生还者2重制版 2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)
下载链接 动作冒险游戏的技术架构与关卡设计剖析:以《最后生还者:第二部》为例 在现代三维游戏开发中,如何将电影化叙事与高互动性的玩法系统深度结合,一直是工业化研发的核心课题。由索尼互动娱乐发行的《最后生还者:…...
面试官问CyclicBarrier和CountDownLatch区别?这样回答直接拿Offer(附源码级对比和避坑点)
面试官问CyclicBarrier和CountDownLatch区别?这样回答直接拿Offer(附源码级对比和避坑点) 在Java并发编程的面试中,CyclicBarrier和CountDownLatch的区别几乎是必问的高频考点。但真正能打动面试官的,绝不仅仅是背诵教…...
从手机镜头到AR眼镜:几何光学三大定律如何塑造你身边的成像技术
从手机镜头到AR眼镜:几何光学三大定律如何塑造你身边的成像技术 当你用手机拍下一张照片,或是戴上AR眼镜看到虚拟与现实融合的世界时,背后其实隐藏着几个世纪前就被发现的物理定律。这些看似高深的光学原理,正以最直接的方式影响…...
APT32F110 RISC-V开发板printf重定向与串口花式表白项目实战
1. 项目概述:从“Hello World”到“花式表白”的嵌入式浪漫作为一名在嵌入式领域摸爬滚打了十多年的老工程师,我调试过无数块开发板,写过数不清的“Hello World”。但当我拿到爱普特APT32F110这块基于国产RISC-V内核的开发板时,我…...
