树是有向图还是无向图?
Posted
技术标签:
【中文标题】树是有向图还是无向图?【英文标题】:Are Trees Directed or Undirected Graphs? 【发布时间】:2013-01-14 09:10:09 【问题描述】:我读过树是图的特例。 图可以是有向的或无向的。但是,如果我们将树视为一种数据结构,它是有向图还是无向图?
【问题讨论】:
【参考方案1】:除非另有限定,否则数学或图论中的树通常被假定为无向的,但在计算机科学或编程或数据结构中,树通常被假定为有向和有根的。
您需要了解讨论的上下文。
【讨论】:
【参考方案2】:见Tree on Wikipedia:
一棵树是一个无向图。
【讨论】:
谢谢,我应该看看***:P @KimKulling 为什么树不能是有向图? 因为两个顶点之间没有定义方向。【参考方案3】:两者都可以接受。 在某些情况下,您可能希望能够从一片叶子上升然后再下降(通常在另一个分支中),或者您可能只希望能够下降。
【讨论】:
如果两者都可能(有向图和无向图),那么为什么 wiki 说只有树是无向图 @VinothKumar ***页面在图论的背景下描述了树,其中树确实是无向图的特例。然而,在编程的上下文中,我们所说的树大多数时候是有根的树,具有从根到叶的隐含方向。许多算法不需要从叶子到根的反向方向,因此存储较轻的有向根树通常就足够了。 同意你的观点。最后,树也可以是有向图。我说的对吗?【参考方案4】:树是连接的无环图。这意味着您应该能够从任何节点 u 遍历到任何节点 v。如果我们说树是有向的,那么可能不可能从每个节点 u 遍历到每个节点 v。
在rooted trees 的上下文中,方向只是告诉树的哪个节点被视为根(起点)或显示节点之间的父子关系,这就是它所说的......这个方向并不限制图或任何节点 u 到树的节点 v 之间的连接。[1]
[1] 如果我们将 rooted 中的方向视为可以在树中遍历的从节点 u 到节点 v 的实际路径,那么连接将被破坏并且该图将不是一棵树没有了。
【讨论】:
最后一句话有点令人困惑:它只是对已经显示的事实的另一个说明。 ...我把最后一个(说明性的)句子变成了一个脚注,希望这不会违背作者的意图以上是关于树是有向图还是无向图?的主要内容,如果未能解决你的问题,请参考以下文章