如何找到一棵树的叶子

发布于 2024-11-03 16:08:49 字数 75 浏览 0 评论 0原文

有一个问题,想要找到一棵树的中心,并且想删除叶子,直到有两个以上的顶点。 但我怎样才能找到叶子呢?

PS对不起我的英语

There is a problem that wants to find the center of a tree and I want to delete the leaves until there are more than 2 vertices.
But how can I find the leaves ?

PS sorry for my English

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

手心的温暖 2024-11-10 16:08:49

编辑:我刚刚看到你可能有一棵有根的树。您可以对树进行 DFS,当从当前节点到与父节点不同的节点没有边时,您就找到了叶子。

引用 维基百科

图中顶点的度为
与其相关的边数。一个
孤立顶点是一个顶点
零度;也就是说,一个顶点是
不是任何边的端点。一片叶子
顶点(也是悬垂顶点)是
度数为 1 的顶点。

只需计算每个节点的度即可。如果它是 1 那么你就有了一片叶子。

Edit: I have just seen you probably have a rooted tree. You can make a DFS of the tree and when from the current node you don't have an edge to a node different from the parent, then you have found a leaf.

Quoting Wikipedia:

The degree of a vertex in a graph is
the number of edges incident to it. An
isolated vertex is a vertex with
degree zero; that is, a vertex that is
not an endpoint of any edge. A leaf
vertex (also pendant vertex) is a
vertex with degree one.

Just count the degree of every node. If it is 1 then you have a leaf.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文