这是作业,我已经有了答案。我只是想了解这是什么样的,因为我无法想象它。
假设我们给出了n个值的序列x1,x2,...,xn并寻求 快速回答表格的重复查询:给定i和j,找到最小值 在xi ,. 。 。 ,xj。
问题是:
a)设计一个使用O(n ^ 2)空间并在O(1)中回答查询的数据结构 时间。
根据Skienna的维基页面,答案是
使用填充了两个索引处节点之间距离的nxn矩阵。
我知道n x n矩阵会给我们n ^ 2个空格,但我不明白这个矩阵是什么样的。
答案 0 :(得分:1)
嗯......让我们举一个例子:
对于值:3 5 4 2
矩阵将是:
3 3 3 2
3 5 4 2
3 4 4 2
2 2 2 2
矩阵始终为symmetric:我们可以允许j < i
为x j .. x i
这称为查找表。 (i,j)处的每个值等于min(x i .. x j )。这意味着,您预先计算正常函数将返回的值。