🗒️310. 最小高度树
2025-1-8
| 2025-1-8
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Jan 8, 2025 09:29 AM
树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,任何一个没有简单环路的连通图都是一棵树。
给你一棵包含 n 个节点的树,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表(每一个边都是一对标签),其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条无向边。
可选择树中任何一个节点作为根。当选择节点 x 作为根节点时,设结果树的高度为 h 。在所有可能的树中,具有最小高度的树(即,min(h))被称为 最小高度树 。
请你找到所有的 最小高度树 并按 任意顺序 返回它们的根节点标签列表。
树的高度是指根节点和叶子节点之间最长向下路径上边的数量。

拓扑排序

与树的层序遍历,思想一致。问题是,我们如何找到开始点。在树中,我们进行层序遍历,最下面一层都是叶子节点,叶子节点的特征是,只有一个节点与其相连。因此,我们也采用这样的思路来构造树。
思路:我们找出图中,所有度为 1 的节点,作为初始的节点,然后使用拓扑排序(在树中的体现,向上遍历),删除与其相连的节点,重复上述步骤。

📎 参考

  • 【题单】图论算法
  • 2392. 给定条件下构造矩阵851. 喧闹和富有
    Loading...