节点和顶点之间有什么区别(如果有的话)?看了无数个网站都找不到答案!甚至我的书也没有具体说明,所以我有点迷路了!
值得一提的是,除了在图形中使用时称为“顶点”而在树中使用时称为“节点”这一事实之外,我还在寻找差异。
单词Node和Vertex之间没有区别。即使在一些解释图论和图算法的书中,他们也将其命名为:
顶点用v表示,有时也称为节点
它们之间没有主要或次要的区别。
这在书中提到:Data structure and Algorithms with Object Oriented Design Patterns in C#, Bruno R, Preiss。
在“The Practitioner's Guide to Graph Data”中,作者避免使用“节点/节点”一词,只使用顶点/顶点,他们解释如下:
...因为我们专注于分布式图,节点在分布式系统、图论和计算机科学中具有不同的含义。
在分布式系统中,节点可以是客户端、服务器或对等点,而在计算机网络中,它可以是计算机或调制解调器。正如您已经指出的那样,在计算机科学中,它可以用于图论或树系统。
因此,在图论的上下文中,节点和顶点可以互换使用。但是,如果您想清楚并避免任何误解,顶点/顶点是要走的路。
In think这两个术语都来自对图形和网络的不同感知。Albert-László Barabási在他最近的教科书中写道。
“在科学文献中,术语网络和图可以互换使用:
网络科学 | 图论 |
---|---|
网络 | 图形 |
节点 | 顶点 |
关联 | 边缘 |
然而,这两个术语之间有一个微妙的区别:{network, node, link} 组合通常指的是真实系统: WWW 是由 URL 链接的 Web 文档网络;社会是通过家庭、友谊或专业联系联系起来的个人网络;代谢网络是细胞中发生的所有化学反应的总和。相比之下,当我们讨论这些网络的数学表示时,我们使用术语 {graph, vertex, edge}:我们谈论网络图、社交图(Facebook 流行的一个术语)或代谢图。然而,这种区分很少出现,因此这两个术语通常是彼此的同义词。”
<tl;dr> 相同,相同,但不同。
节点和顶点之间没有区别。大多数书籍使用V来表示图的顶点。我见过主要与树相关的节点。
例如,您可能遇到过 O(V + E) 用于表示深度优先搜索和广度优先搜索图遍历的时间复杂度。
类似地,V被用作其他图算法(如 Prim's、Kruskal's 等)的时间复杂度分析的一部分。