【发布时间】:2015-03-23 15:38:51
【问题描述】:
我正在查看代码以查找深度优先搜索 (DFS) 的复杂性。 O(|V| + |E|) 与 O(V+E) 有何不同。 |·|是什么意思在 V 和 E 附近?这是否意味着“所有顶点的总和”表示为 |V| ?
【问题讨论】:
标签: graph time-complexity notation
我正在查看代码以查找深度优先搜索 (DFS) 的复杂性。 O(|V| + |E|) 与 O(V+E) 有何不同。 |·|是什么意思在 V 和 E 附近?这是否意味着“所有顶点的总和”表示为 |V| ?
【问题讨论】:
标签: graph time-complexity notation
V 和 E 是一个集合。所以 O(E) 将是未定义的。 |·|为您提供集合中元素的数量,在数学中称为 cardinality。对于图 G = (V,E) |E|是边数,|V|是顶点数。
当人们写 O(V+E) 时,他们实际上是指 O(|V| + |E|),大多数读者会这样理解,因为这是唯一合理的解释。还是不干净,我自己也不会用。
【讨论】:
|V|通常表示 V 中的基数(元素数)。 所以 O(|V| + |E|) 的意思是“按 V 中的元素数加上 E 中的元素数的顺序”。
【讨论】: