Graph theory 关于Floyd-Warshall算法';SO(n^2)存储

Graph theory 关于Floyd-Warshall算法';SO(n^2)存储,graph-theory,computer-science-theory,Graph Theory,Computer Science Theory,为什么Floyd-Warshall算法中存在存储?如果使用的是链表而不是N×N矩阵,那不是会比这个小吗?链表最坏的情况仍然是O(N^2)(我想?我不完全确定我是否理解你打算如何使用它),但是,要改变整个算法的渐进复杂性,查找成本将非常昂贵(链表上的操作与已知大小矩阵上的操作的复杂性不同)。链表的最坏情况大小仍然是O(n^2)(我想?我不完全确定我是否理解您打算如何使用它),但查找成本将足以改变整个算法的渐进复杂性(链表上的操作与已知大小矩阵上的操作的复杂性不同).我的链表建议是,每个节点代表图中

为什么Floyd-Warshall算法中存在存储?如果使用的是链表而不是N×N矩阵,那不是会比这个小吗?

链表最坏的情况仍然是
O(N^2)
(我想?我不完全确定我是否理解你打算如何使用它),但是,要改变整个算法的渐进复杂性,查找成本将非常昂贵(链表上的操作与已知大小矩阵上的操作的复杂性不同)。

链表的最坏情况大小仍然是
O(n^2)
(我想?我不完全确定我是否理解您打算如何使用它),但查找成本将足以改变整个算法的渐进复杂性(链表上的操作与已知大小矩阵上的操作的复杂性不同).

我的链表建议是,每个节点代表图中的一个顶点。这样,你只需要将图中的顶点数存储为v+e倍,而不是v^2倍。我的算法教授说,将图存储为链表通常比存储为N×N矩阵更好,但我的论点是与节省的空间相比,查找成本太高了。她的论点是,如果你有10亿个顶点,那么节省的空间就值得了。但我认为这不是真的。链表是存储图形的一种相当古怪的方式。你是指存储邻接列表吗?这是相当不同的。请记住,你仍然需要d存储所有权重的位置,最坏情况下为
(n-1)^2
values。我对链表的建议是,每个节点代表图中的一个顶点。这样,你只需要将图中的顶点数存储为v+e倍,而不是v^2倍。我的算法教授说,将图存储为链表通常比存储为N×N矩阵更好,但我的论点是w因为与节省的空间相比,查找成本太高了。她的论点是,如果你有10亿个顶点,那么节省的空间就值得了。但我认为这是不正确的。链表是存储图形的一种相当古怪的方式。你是指存储邻接列表吗?这是相当不同的。请记住,y你仍然需要一个地方来存储所有的权重,最坏的情况是
(n-1)^2
值。