适合大型图形的数据结构
Suitable data structure for large graphs
我有一个大图,除了邻接列表和 c++ stl 中的"邻接矩阵"之外,还有其他数据结构吗,或者我可以用于这么大图的其他一些数据结构,实际上我的图的邻接矩阵不适合主内存。我的图是有向的,我正在C++中实现 dijkstra 算法。
我看过以前的帖子...但我正在寻找关于 dijkstra 的合适数据结构。
总的来说,我指的是包含超过 1 亿个节点和边的图形。
通常将邻接列表表示为整数列表,其中整数是节点的索引。 通过将邻接列表视为位字符串00010111000...
,其中第 n 个位置的1
表示此节点和节点n
之间的边,如何获得更多的空间效率? 然后通过一些标准算法压缩位串;根据需要解压缩它。 位串可能会压缩得很好,因此这会牺牲空间效率以获得更高的计算成本。
相关文章:
- 链表,反向函数,数据结构
- 如何使用set实现无序数据结构?
- 我们可以将数据永久保存为数据结构吗?
- C++中的可变长度数组/数据结构
- 用于存储由空格分隔的字符串的 C++/C 数据结构
- 通过 NIF 从C++返回自定义数据结构
- 编译器上的策略数据结构不起作用
- 尝试构建"lock-free"数据结构C++
- 设计将引用元素移动到开头的数据结构.C++
- 在学习数据结构之前对STL有一个了解是好的吗?
- 如何解析表示树状数据结构的字符串
- 我对数据结构、双向链表有一些问题
- googletest:测试太大的数据结构
- C++中deque数据结构的大O是什么?
- 适合大型图形的数据结构
- 如何编写递归函数来计算图形数据结构中的最短路径
- 动态添加到图形数据结构中
- 是否有标准的图形数据结构可用于基准测试?
- 一个c++图形数据结构的并发垃圾收集
- 图形数据结构内存管理