算法题目——省份数量(dfs,bfs)

这是一篇关于LeetCode第547题《省份数量》的解析文章,主要探讨了如何通过深度优先搜索(DFS)和广度优先搜索(BFS)来解决这个问题。在DFS中,利用递归遍历并标记省份状态,寻找省份圈。而在BFS中,借助队列进行遍历,同样更新省份状态和查找省份圈。两种方法都涉及到判断省份是否可达并访问,直至遍历完所有省份。

题目链接:leetcode.547省份数量

在这里插入图片描述

在这里插入图片描述

dfs:
深度优先遍历:递归

思路:读入数据完成后
重点:建立一个数组记录该省份是否访问,新建一个元素记录省份圈的个数
1.对所有省份循环一次,如果该省份未被访问,则进入dfs
2.dfs中,对所有省份循环一遍,如果未被访问且省份index可以到达省份j时将该省设置为已访问,且进入j省的dfs中

#include<iostream>
#include<algorithm>
using namespace std;
int matrix[1000][1000];
bool visited[1000]={
   
   false};


void dfs(int n,int index){
   
   
	for(int j=0;j<n;j++){
   
   
		if(!visited[j]&&matrix[index]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值