首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >稀疏图和密集图的区别是什么?

稀疏图和密集图的区别是什么?
EN

Stack Overflow用户
提问于 2012-09-26 17:56:54
回答 5查看 64.3K关注 0票数 49

我读到用邻接表表示稀疏图,用邻接矩阵表示稠密图是很理想的。但我想要了解稀疏和密集图之间的主要区别。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-09-26 18:00:05

Dense graph是一个边数接近最大边数的图。稀疏图是一个边数接近最小边数的图。稀疏图可以是。

票数 41
EN

Stack Overflow用户

发布于 2012-09-26 18:04:54

顾名思义,稀疏图是稀疏连接的(例如:树)。通常,边的数量是O(n),其中n是顶点的数量。因此,邻接列表是首选的,因为它们需要每条边的恒定空间。

稠密图是紧密连通的。这里的边数通常是O(n^2)。因此,邻接矩阵是首选。

为了进行比较,让我们假设图有1000个顶点。

无论图是密集的还是稀疏的,邻接矩阵都需要存储1000^2 = 1,000,000个值。

如果图是最小连通度(即,它是一棵树),则邻接表需要存储2997个值。如果图是完全连接的,则需要存储3,000,000个值。

票数 36
EN

Stack Overflow用户

发布于 2012-09-26 18:02:04

图的整体特征主要是顶点数V和边数E,这两者的关系决定了图是稀疏的还是稠密的(维基页面here)。

选择图形内存表示背后的整个理论是关于确定最佳访问时间与内存占用之间的权衡,考虑到主题域和使用细节。

通常,您希望有O(1)个访问时间(并因此将图存储为密集邻接矩阵),除非您不能容忍内存占用,在这种情况下,您选择最合适的稀疏矩阵表示(维基页面here)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12599143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档