如果我想获取图中一个节点的所有邻居,如果图存储在邻接矩阵中,则时间复杂度为O(| V |),如果将其保存在邻接矩阵中,则时间复杂度为O(| V |)邻接名单。现在我在想,如果我不想获得一个节点的邻居而是所有节点,这将如何改变。 (注意:邻接列表包含一个数组和链表。一个链表存储在每个数组条目中,每个数组条目代表一个节点。链表中的每个节点代表一个相邻节点。)
我的过程如下:
在邻接矩阵中,我需要查看每个条目。因此我的时间复杂度为O(| V | ^ 2)。 在邻接列表中,我需要查看每个数组条目并浏览各自的链表。我在想,这应该在O(| E |)中完成,因为我基本上只是查看所有边缘。
我的想法是否正确?
答案 0 :(得分:0)
时间复杂度为O(n + m),其中n =图中的顶点数& m =图中的边数。 您只需要应用BFS或DFS算法。