图 (数据结构)

✍ dations ◷ 2025-12-10 16:11:15 #图 (数据结构)

在计算机科学中,图(英语:graph)是一种抽象数据类型,用于实现数学中图论的无向图和有向图的概念。

图的数据结构包含一个有限(可能是可变的)的集合作为节点集合,以及一个无序对(对应无向图)或有序对(对应有向图)的集合作为边(有向图中也称作弧)的集合。节点可以是图结构的一部分,也可以是用整数下标或引用表示的外部实体。

图的数据结构还可能包含和每条边相关联的数值(edge value),例如一个标号或一个数值(即权重,weight;表示花费、容量、长度等)。

图数据结构支持的基本操作通常包括:

如果该数据结构支持和边关联的数值,则通常也支持下列操作:

下表给出了在图上进行各种操作的复杂度。其中,用||表示节点数量,||表示边的数量。同时假设存储的信息是边上对应的值,如果没有对应值则存储∞。

邻接表在稀疏图(英语:sparse graph)上比较有效率。邻接矩阵则常在图比较稠密的时候使用,判断标准一般为边的数量| |接近于节点的数量的平方| |2;邻接矩阵也在查找两节点邻接情况较为频繁时使用。

其它表示和存储图的数据结构还包括链式前向星、十字链表、邻接多重表(英语:adjacency multilist)等。

图问题的并行计算主要存在如下几种困难:处理大量的数据、求解非常规的问题、数据不分散、数据存取对计算的比例很高等。面对这些困难,并行计算中图的表示和存储方式很重要。如果选取了不合适的表示方式,可能带来不必要的通讯花费,进而影响算法的可扩展性。在本节中,并行计算的共享和分布式(英语:distributed memory)存储模型都在考虑之列。

在共享存储模型下,图的表示和非并行计算中的场景是相同的,,因为在此模型下,对图表示(如邻接表)的并行读取操作效率已经足够高了。

在分布式存储(英语:distributed memory)模型下,通常会采用划分(英语:graph partition)点集 V {displaystyle V} p {displaystyle p} 个集合 V 0 , , V p 1 {displaystyle V_{0},dots ,V_{p-1}} 的方式,其中 p {displaystyle p} 是并行处理器的数量。随后,这些点集划分及相连的边按照标号分配给每个并行处理器。每个处理器存储原图的一个子图,而那些两个顶点分属两个子图的边则需额外特殊处理。在分布式图算法中,处理这样的边往往意味着处理器之间的通讯。

图的划分需要谨慎地在降低通讯复杂度和使划分均匀之间取舍。但图划分本身就是NP难问题。因此,实践中会使用启发式方法。

机器学习、社会网络分析等领域中,有时会处理数万亿条边的图。图的压缩存储可以减少存取和内存压力。霍夫曼编码等一些数据压缩的常见方法是可行的。同时,邻接表、邻接矩阵等也有专门的压缩存储方法以提高效率。

相关

  • dɹ̝浊齿龈无咝塞擦音是由浊齿龈塞音与浊齿龈擦音紧密结合形成的一个浊塞擦音,国际音标写作、或。浊齿龈无咝塞擦音的特征包括:当符号成对出现时,左边的是清音,右边的是浊音。阴影区
  • 蛋白质四级结构蛋白质四级结构(英语:Protein quaternary structure)是生物化学中用于描述多亚基蛋白质复合物中各个折叠蛋白质亚基的排列组合。许多蛋白质实际上是多个多肽链的组装。 四级结
  • 内容创作者内容创作者(英语:content creator)是指在媒体上创作及分享用户生成内容的个体,尤其是指在网络媒体及网络内容平台。内容创作者会创作、撰写或制作信息内容,例如博客文章、影像博
  • 库利奇库利奇(俄语:кулич)是在东正教复活节期间食用的一种面包,是正教会传统面包的一种,主要在俄罗斯、白俄罗斯、保加利亚、塞尔维亚、乌克兰等地食用。库利奇只能在复活节之后的
  • 伐迦陀迦伐迦陀迦王朝(IAST:Vākāţaka)是3世纪至5世纪时存在于印度中部和南部的一个重要王国。伐迦陀迦的统治区域包括今印度中央邦和马哈拉施特拉邦的部分地区(主要在德干)。他们是在
  • 汤姆·沃特森托马斯·安东尼·沃特森(英语:Thomas Anthony Watson;1967年1月8日-),是一名英国工党政治家,于2015年9月当选为工党副领袖。自2001年至2019年担任英国议会东西布朗选区英国下议院议
  • 米诺夫斯基粒子 米诺夫斯基粒子(Minovsky Particle)是动漫与小说作品机动战士高达系列中,在架空世界中所虚构出的基本粒子。以下列出米诺夫斯基物理学的应用技术,有关米诺
  • 凯撒齐普夫山坐标:48°09′23″N 16°12′49″E / 48.156368°N 16.213741°E / 48.156368; 16.213741凯撒齐普夫山(德语:Kaiserzipf),是奥地利的山峰,位于该国东北部,由维也纳负责管辖,属于维也
  • 三氟化镱三氟化镱,化学式YbF3,是一种无机化合物。它可由氟化氢气体氟化法或氟化氢铵氟化法制得,主要用途为氟化玻璃。氟化镱可由硫化镱和氢氟酸反应,再将沉淀灼烧得到:
  • 梅尔·费恩索德梅尔·费恩索德(英语:Merle Fainsod,1907年5月2日-1972年2月11日)美国政治科学家,以在公共行政方面的工作和对苏联的研究而闻名,曾任美国政治学会主席。他根据第二次世界大战期间德国国防军缴获的文件撰写了《苏联治下的斯摩棱斯克》和《如何统治苏联》为美国的苏联研究奠定基础。费恩索德对物价管理局做了研究,还曾担任哈佛大学图书馆馆长。