获取邻接列表/矩阵

时间:2017-07-25 11:45:09

标签: arrays algorithm time-complexity graph-theory

如果我想获取图中一个节点的所有邻居,如果图存储在邻接矩阵中,则时间复杂度为O(| V |),如果将其保存在邻接矩阵中,则时间复杂度为O(| V |)邻接名单。现在我在想,如果我不想获得一个节点的邻居而是所有节点,这将如何改变。 (注意:邻接列表包含一个数组和链表。一个链表存储在每个数组条目中,每个数组条目代表一个节点。链表中的每个节点代表一个相邻节点。)

我的过程如下:

在邻接矩阵中,我需要查看每个条目。因此我的时间复杂度为O(| V | ^ 2)。 在邻接列表中,我需要查看每个数组条目并浏览各自的链表。我在想,这应该在O(| E |)中完成,因为我基本上只是查看所有边缘。

我的想法是否正确?

1 个答案:

答案 0 :(得分:0)

时间复杂度为O(n + m),其中n =图中的顶点数& m =图中的边数。 您只需要应用BFS或DFS算法。

相关问题