树是有向图还是无向图?

26

我了解到树是图的特殊情况。 图可以是有向的或无向的。但是如果我们将树视为一种数据结构,那么它是有向图还是无向图呢?

5个回答

43

除非另有说明,数学或图论中的树通常被认为是无向的,但在计算机科学、编程或数据结构中,树通常被认为是有向的和根据的。

您需要了解讨论的背景。


9

谢谢,我应该看过维基百科的:P - Faizan
@KimKulling 为什么树不能是有向图? - VINOTH ENERGETIC
因为两个顶点之间没有定义方向。 - KimKulling

7

两种都可以接受。 你可能会有一些情况需要从一个叶子节点往上走,然后再往下走(通常是在另一个分支中),或者你可能只想往下走。


1
如果两者都可能(有向图和无向图),那么为什么维基百科说树只是一个无向图? - VINOTH ENERGETIC
8
维诺斯库马(@VinothKumar)维基百科页面在图论的上下文中描述了树,其中树确实是无向图的一种特殊情况。然而,在编程的上下文中,我们所说的树大多是带有隐含方向(从根到叶子)的根树。许多算法不需要从叶子到根的反向方向,因此存储轻量级的有向根树通常已足够。 - Khaur
1
同意你的观点。最终树也可以是有向图。我说得对吗? - VINOTH ENERGETIC

7
树是连通无环图。这意味着您应该能够从任何节点u遍历到任何节点v。如果我们说树是有向的,则可能无法从每个节点u遍历到每个节点v
有根树的上下文中,方向仅告诉我们哪个树节点被视为根(起点)或显示节点之间的父子关系,这就是它所说的全部... 这种方向不限制图的连通性或树中任何节点u到节点 v 之间的连接。[1]

[1] 如果我们将根据方向在树中从节点 u 到节点 v 的实际路径视为可遍历的路径,则连通性将被破坏,该图不再是一棵树。


最后一句话有点混淆,它只是已经展示的事实的另一个例证。 - Wolf
1
我把最后一句话(作为说明的)转化成了脚注,希望这不会违背作者的意图。 - Wolf

0

1- 树是图的一个子集。

2- 它们是无向无环图。 (许多时候,我们需要从叶节点返回到先前的节点以更改分支,但是在具有单向边的情况下不可能)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接