c_cpp 计算森林中树木的数量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 计算森林中树木的数量相关的知识,希望对你有一定的参考价值。
//https://www.geeksforgeeks.org/count-number-trees-forest/
#include <bits/stdc++.h>
using namespace std;
class graph {
int v;
list <int> *adj;
public:
graph (int v) {
this->v= v;
adj = new list <int> [v];
}
void addEdge (int u, int w) {
adj[u].push_back(w);
adj[w].push_back(u);
}
void print();
void DFSUtil (int, vector<bool>&);
int cTrees();
};
void graph::print() {
for (int i=0;i<v;i++) {
list <int>::iterator j;
cout<< i << " : ";
for (j= adj[i].begin(); j!= adj[i].end(); ++j)
cout<< *j << " ";
cout<< "\n";
}
}
void graph:: DFSUtil (int s,vector<bool> &visited) {
visited[s]=1;
list<int>::iterator i;
for ( i=adj[s].begin(); i!= adj[s].end(); ++i)
if (!visited[*i])
DFSUtil (*i, visited);
}
int graph::cTrees () {
vector<bool> visited (v, false);
int r=0;
for (int i=0; i<v; i++) {
if (visited[i] == 0) {
DFSUtil (i, visited);
r++;
}
}
return r;
}
int main() {
int v=5;
graph g(v);
g.addEdge(0, 1);
g.addEdge(0, 2);
g.addEdge(3, 4);
cout<< g.cTrees();
}
以上是关于c_cpp 计算森林中树木的数量的主要内容,如果未能解决你的问题,请参考以下文章
小波变换网文精粹:小波:看森林,也看树木
毕设题目: Matlab元胞自动机森林火灾
先森林后树木:Elasticsearch各版本升级核心内容必看
如何在Python中从零开始实现随机森林
延迟加载孩子,里面有急切的集合
Google earth engine——全球森林碳通量(2001-2021)数据集可视化含代码