我正在阅读如何在计算机内存中表示图形。我认为它是理想的用邻接矩阵表示邻接表和稠密图的稀疏图。但我想了解稀疏图和密集图的主要区别?稀疏图和密集图之间的区别是什么?
回答
密集图是一个图中的边数接近最大边数。 稀疏图形是一个图形,其中边缘的数量接近边缘的最小数量。稀疏图可以是disconnected graph。
我认为如果一个包含n个顶点的图被认为是稀疏的,如果它具有O(n)或更少的边。 –
相反,具有n个顶点的曲线图是致密的,如果边缘的数目为O(n^2) – JayJay
从here:
非正式地,用相对少的条边的图是稀疏的,并且与许多边的图是致密的。定义(稀疏图):稀疏图是G =(V,E)的图,其中| E | = O(| V |)。定义(稠密图)稠密图是G =(V,E)的图,其中| E | =Θ(| V | )。
由于名称表示稀疏图是稀疏连接(例如:树)。通常边的数量在O(n)中,其中n是顶点的数量。因此,邻接列表是优选的,因为它们需要每个边缘的恒定空间。
密集图密集连接。这里的边数通常是O(n^2)。因此邻接矩阵是优选的。
为了进行比较,让我们假设图有1000个顶点。
无论图形是稠密还是稀疏,邻接矩阵都需要存储1000^2 = 1,000,000个值。
如果图形最小连接(即它是一棵树),则邻接列表需要存储2,997个值。如果图形完全连接,则需要存储3,000,000个值。
在数学中,密集图是其中边的数量接近最大边数的图。相反,只有少量边的图是稀疏图。稀疏图和密集图之间的区别是相当模糊的,并且取决于上下文。
稀疏图的几个例子是:其中的交叉点是顶点和道路交通 和道路网络是边缘。对于这样的网络,道路的数量并不显着大于交叉点的数量(换言之,E〜= c * V,其中c在2-3的范围内)。 尽管在许多情况下真实世界的图很稀疏,但有可能创建高度密集的加权图,其边缘权重表示某种关系 - 例如,如果两个人同时访问同一商店,则边缘权重较大或者在同一家咖啡店喝咖啡。 – harrypotter0
另一个例子可能是采用稀疏图形的“子图”来表示一个高度关联人群。 – harrypotter0
- 1. 各种助推ublas稀疏矢量之间有什么区别?
- 2. cuSPARSE密集时间稀疏
- 3. 密集和稀疏运行时间
- 4. 稀疏指数和密集指数之间的差异
- 5. 使用cuSPARSE进行密集稀疏和稀疏到密集的转换
- 6. $(())和expr之间的区别是什么?
- 7. $和$ .fn之间的区别是什么?
- 8. ++和:haskell之间的区别是什么?
- 9. $(“”)和$ .find(“”)之间的区别是什么?
- 10. “\”和“\。”之间的区别是什么?
- 11. “$ | ++”和“$ | = 1”之间的区别是什么
- 12. $(...)和`...`之间的区别是什么
- 13. .equals()和==之间的区别是什么?
- 14. [undefined]和[,]之间的区别是什么?
- 15. 部分索引和稀疏索引mongodb有什么区别?
- 16. 关系图,ER图和EER图之间有什么区别
- 17. 表索引和视图索引之间的区别是什么?
- 18. 堆叠稀疏和密集矩阵
- 19. OpenCL中的图像和缓冲区之间有什么区别?
- 20. LibGDX:Sprite绘图和SpriteBatch绘图之间有什么区别?
- 21. 意图额外和意图数据之间有什么区别?
- 22. Spring集成Java DSL - HeaderEnricher和HeaderEnricherSpec之间的区别是什么
- 23. 图层和图案之间的区别
- 24. 稀疏矩阵子集密集矩阵
- 25. 高效地创建高密度区域的密度图,稀疏区域的点
- 26. 区别:%% a和%variable%变量之间的区别是什么?
- 27. 什么是为PrintWriter和DataOutputStream之间的区别是什么?
- 28. 意图和未决意图之间的确切区别是什么?
- 29. Twitter消费者密钥和密钥之间有什么区别?
- 30. .net System.Drawing命名空间 - 位图,图像和图形之间有什么区别?
(http://en.wikipedia.org/wiki/Dense_graph)有足够的信息 – Imposter