![]() |
1
2
图是非常稀疏的(64个顶点,每个顶点最多有8条边),因此邻接矩阵是浪费的IMO。 更好的结构是 adjacency list 以下为:
这个想法确实是为了
在这种情况下,不需要一些额外的权重信息,因为图是未加权的。 此外- Dijkstra的算法是多余的 在这里。同样,图是未加权的,因此找到最短路径的更简单(编程和理解)、更快(运行时)的算法是 BFS 对于未加权的图。 |
![]() |
2
0
由于只有64个瓦片,您可以方便地将邻接矩阵放入64个整数的数组中,每个整数64位。当然,它很稀疏,但也很小,所以如果它存在的话(指针与单个比特相比相当大),浪费也会很小。 从位向量中提取索引列表在稀疏时也特别容易,但是 你根本不需要 -您可以让前面是一个位向量队列,而“已访问”集可以是一个单独的位向量。
编辑:好吧,如果你使用这个技巧,实际上你可能仍然需要它,但它仍然只需要一些快速操作,如位扫描和
|