来自Algorithms的第6章,S。Dasgupta,C。Papadimitriou,U。Vazirani,2006。
我试图在本章开头用算法理解一些伪代码。第一个是the topological sort linearization我理解dist和min例程。但我不明白符号min *subscript* (u, v)∈Edges {dist(u) + l(u, v)}
。有谁知道如何描述该特定符号的每一部分。循环通过节点u
是否通过有向边连接到v
?
我的第二个问题是Longest Increasing Subsequence algorithm.中的符号如何解释max{L(i):(i, j)∈Edges}
。冒号在这个陈述中意味着什么?在文中我看到L(.)
这是什么意思?
答案 0 :(得分:0)
最小值和最大值都需要域操作。即从特定集合中,这些运算符返回最大或最小元素。
这两种符号都是定义此域的变体。第一个基本上是:"考虑(u, v)
集合中的所有对Edges
,找到dist(u) + l(u, v)
的最小值。
第二个变体定义了一组值:{L(i) : (i, j) ∈ Edges}
是可以从L(i)
集合中的(i, j)
对形成的所有值Edges
的集合。然后,最大运算符从该集合中找到最大值。
所以差异很小。第一个指定一个域和一个表达式,它将域的每个元素映射到一个值。第二个直接指定要从中选择最大元素的集合。
实际上,两种变体都可以互换使用。这本书可能只是作者之间的一些不一致之处。