我读“算法设计”通过伊娃·塔尔多斯并在第3章中提到,邻接矩阵具有的复杂性O(n^2)
,同时邻接表有O(m+n)
其中m为边的总数,n为节点的总数。它说在邻接列表的情况下,我们只需要每个节点的大小为 m 的列表。
在邻接列表的情况下,我们不会得到类似于矩阵的东西,因为我们有列表,它们也是一维数组。所以基本上它是O(m*n)
根据我的。请指导我。
邻接矩阵为每对节点保留一个值(1/0),无论边是否存在,因此它需要n*n
空间。
邻接表只包含现有的边,所以它的长度最多是边的数量(或者节点的数量,如果边比节点少的话)。
它说在邻接列表的情况下,我们只需要每个节点的大小为 m 的列表。
我想你误解了那部分。邻接列表不m
包含每个节点的大小列表,因为它m
是整体边的数量。
在全连接图中,每对节点之间都有一条边,因此邻接表和矩阵都需要n*n
空间,但对于其他所有情况 - 邻接表会更小。