我不明白为什么在邻接矩阵中插入边需要O(1)时间。 例如,我们想要从顶点3到5添加一个边,在面向图中我们需要将图形[2] [4]更改为1.在面向方向上也可以反过来。 怎么可能是O(1),如果我们至少有一次必须在数组中找到正确的行,那么它已经是O(| V |)?
答案 0 :(得分:4)
在2D数组中,所有操作都被视为O(1)。
在2D数组中,您不能线性地找到找到行和列来添加数据。
这里
a[i][[j] = k
是一个O(1)操作,因为你可以直接将数组的位置作为索引而不是线性地引用。
然而,在Linkedlist中,您必须通过逐个访问所有行/列来查找行/列。