我正准备创建一个迷宫解决程序。正如这两个问题所述:图形表示:邻接列表 vs 矩阵 和 使用邻接列表和邻接矩阵的图形大小?,它们解释了使用邻接列表和邻接矩阵有何不同。不幸的是,我在邻接矩阵和边缘列表上找到的资料很少,因此无法确定与其他两者相比边缘列表的利弊。
对于迷宫的邻接列表进行遍历的示例(我认为)如下:
对于迷宫的邻接列表进行遍历的示例(我认为)如下:
insertVertex(V) : O(1)
insertEdge(Vertex, Vertex, E) : O(1)
removeVertex(Vertex) : O(deg(v))
removeEdge(Edge) : O(m)
vertices() : O(n)
edges() : O(m)
areAdjacent(Vertex, Vertex) : O(min(deg(v),deg(w))
endVertices(Edge) : O(1)
incidentEdges(Vertex) : O(deg(v))
space complexity : O(n+m)
所以我的问题是,对于这个迷宫求解问题,哪个时间成本更佳:边列表、邻接表还是邻接矩阵?