图表作为邻接矩阵时间复杂度

时间:2017-10-03 16:07:30

标签: algorithm graph time-complexity big-o

enter image description here

我不明白为什么在邻接矩阵中插入边需要O(1)时间。 例如,我们想要从顶点3到5添加一个边,在面向图中我们需要将图形[2] [4]更改为1.在面向方向上也可以反过来。 怎么可能是O(1),如果我们至少有一次必须在数组中找到正确的行,那么它已经是O(| V |)?

1 个答案:

答案 0 :(得分:4)

在2D数组中,所有操作都被视为O(1)。

在2D数组中,您不能线性地找到找到行和列来添加数据。

这里

  a[i][[j] = k 

是一个O(1)操作,因为你可以直接将数组的位置作为索引而不是线性地引用。

然而,在Linkedlist中,您必须通过逐个访问所有行/列来查找行/列。