> 文章列表 > 【算法基础】DFS BFS 进阶训练

【算法基础】DFS BFS 进阶训练

【算法基础】DFS  BFS 进阶训练

DFS与BFS的基础篇详见:https://blog.csdn.net/m0_51339444/article/details/129301451?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129301451%22%2C%22source%22%3A%22m0_51339444%22%7D

一、案例分析1 (树的重心 —— DFS)

(一)Question

1. 问题描述

给定一颗树,树中包含 n 个结点(编号 1∼n)和 n−1 条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。

重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。

2. Input

第一行包含整数 n,表示树的结点数。接下来 n−1 行,每行包含两个整数 a 和 b 表示点 a 和点 b 之间存在一条边。(1 ≤ n ≤ 105