DFS一遍求子树的节点数

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const int maxn = 1e5+50;
vector<int>g[maxn];
int n;
int dfs(int u,int f)
{
    int sum = 1;
    for(int i=0;i<g[u].size();i++)
    {
        int v = g[u][i];
        if(v!=f)
        {
            sum += dfs(v,u);
        }
    }
    printf("(节点%d的子树节点数:%d)\n",u,sum);
    return sum;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n-1;i++)
    {
        int u,v; cin>>u>>v;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    dfs(1,0);
}
/*
4
1 2
2 3
2 4
*/

原文链接: https://www.cnblogs.com/xiaoxiao179/p/13221417.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    DFS一遍求子树的节点数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/361098

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 下午1:39
下一篇 2023年3月2日 下午1:39

相关推荐