假设图中顶点的邻接关系用表 Adj(X,Y)表示。以下哪个查询不能用等长的关系代数表达式表示?
(A)与给定顶点相邻的所有顶点的列表
(B)列出所有具有自循环的顶点
(C)列出所有属于少于三个顶点的循环的顶点
(D)列出从给定顶点可到达的所有顶点答案: (D)
解释: (A)这是一个简单的查询,因为我们需要为给定的 X 找到 (X, Y)。
(B) 这也很简单,需要找到(X, X)
(C) :-> 循环 < 3 。表示长度为 1 & 2 的循环。长度为 1 的循环很容易。,与自循环相同。长度为 2 的循环也不难计算。虽然它会有点复杂,但需要像 (X,Y) & (Y, X ) 都存在 & X != Y,。我们可以通过不断的 RA 查询来做到这一点。
(D) :-> 这是最难的部分。这里我们需要找到顶点的闭包。这将需要某种循环。如果图像倾斜的树,我们的查询必须循环 O(N) 次。我们不能在这里使用恒定长度查询。
答案是:-> D
这个问题的测验