我知道有两种方法可以表示我的图表:一种是使用矩阵,另一种是使用列表。
如果我使用矩阵,我必须翻转矩阵中的所有位。这不需要 O(V^2) 时间吗?
如果我使用一个列表,我是不是必须一个一个地遍历每个列表并创建一个新集合?这似乎需要 O(V+E) 时间,这是线性的。我对么?
所以,我在这里有另一个问题。例如,考虑我在我的图(矩阵或列表)上使用 Dijkstra 算法,并且我们使用优先级队列作为场景背后的数据结构。图表示和数据结构的使用有什么关系吗?会不会影响算法的性能?
假设我要使用表示列表和 Dijkstra 算法的优先级队列,矩阵和使用 Dijkstra 的优先级队列之间会有区别吗?
我猜它只与makeQueue
操作有关?或者他们根本没有什么不同?