按要求查找矩阵位置

时间:2017-05-16 16:46:58

标签: algorithm matrix diagram

我对矩阵有疑问。

有一个矩阵和一个段列表。 每个段都有一个名称,一个起点或终点以及一个值,该值描述了起点和终点是否指向矩阵的行或列。

可以有多个具有相同名称的段(但具有不同的起点和终点)。

现在我们有一个名单列表(a,b,c)。

任务是找到位置适合的每个矩阵位置(x,y)  进入具有列表名称的每个段的范围(起点和终点)。

这样做的方法是什么?

我需要这个来在KV图中找到逻辑表达式的位置。

1 个答案:

答案 0 :(得分:2)

如果具有相同名称的间隔不重叠,则很容易想出具有复杂度O(r * c * n)的算法。 r = #rows,c = #columns,n = #names。

  1. 使用0s初始化r * c计数矩阵。

  2. 每个名字......

  3. 对于名称为...的每个时间间隔

  4. 将区间内的计数矩阵的所有值增加1。

  5. 迭代计数矩阵并返回count == n的所有单元格。

  6. 如果具有相同名称的间隔不重叠,那么每个名称n必须增加最多r * c值,因此复杂度为O(r * c * n),最后一步为+ r * c无所谓。