适合大型图形的数据结构

Suitable data structure for large graphs

本文关键字:数据结构 图形 大型      更新时间:2023-10-16

我有一个大图,除了邻接列表和 c++ stl 中的"邻接矩阵"之外,还有其他数据结构吗,或者我可以用于这么大图的其他一些数据结构,实际上我的图的邻接矩阵不适合主内存。我的图是有向的,我正在C++中实现 dijkstra 算法。

我看过以前的帖子...但我正在寻找关于 dijkstra 的合适数据结构。

总的来说,我指的是包含超过 1 亿个节点和边的图形。

通常将邻接列表表示为整数列表,其中整数是节点的索引。 通过将邻接列表视为位字符串00010111000...,其中第 n 个位置的1表示此节点和节点n之间的边,如何获得更多的空间效率? 然后通过一些标准算法压缩位串;根据需要解压缩它。 位串可能会压缩得很好,因此这会牺牲空间效率以获得更高的计算成本。