图 (数据结构)

✍ dations ◷ 2025-12-09 15:59:17 #图 (数据结构)

在计算机科学中,图(英语: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难问题。因此,实践中会使用启发式方法。

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

相关

  • 萨拉托夫萨拉托夫(俄语:Сара́тов,俄语拉丁字母拼写:Saratov),是俄罗斯萨拉托夫州首府、伏尔加河下游右岸的港口,位于乌克兰与哈萨克之间。2002年人口为873,055人。建于1590年。曾为
  • 阿尔泰共和国阿尔泰共和国(俄语:Респу́блика Алта́й,罗马化:Respublika Altay;阿尔泰语:Алтай Республика)是俄罗斯联邦主体之一,属西伯利亚联邦管区。面积92,6
  • 国家复兴运动国家复兴运动(西班牙语:Movimiento Regeneración Nacional,缩写为Morena)是墨西哥的一个左翼政党。该党成立于2012年。该党的意识形态是卡德纳斯主义、左翼民族主义、改良主义
  • 遵义医学院遵义医科大学为中国贵州省遵义市的一所高等学校。1947年,大连医学院创建。1969年,迁至遵义,更名为遵义医学院。2018年,更名为遵义医科大学。遵义医科大学有16个院系,分别为基础医
  • 加图研究所加图研究所(英语:Cato Institute,又译卡托研究所)是一个位于美国华盛顿哥伦比亚特区的自由意志主义智库。是美国五大保守派智库之一。研究所自许的任务是要“扩展公共政策辩论的
  • 安德雷·布劳尔艾米·布拉布森安德雷·布劳尔(英语:Andre Braugher,/ˈbraʊ.ər/,1962年7月1日-)是一位美国男演员,出生于伊利诺伊州芝加哥,现居于新泽西州南奥兰治。他于1984年在斯坦福大学取得
  • 披山岛坐标:28°05′35″N 121°30′38″E / 28.09292°N 121.51046°E / 28.09292; 121.51046披山岛是位于中国浙江省玉环市鸡山乡辖区的一个海岛,是台州市最后一个通电网的人居住
  • 布莉安娜·班克斯布莉安娜·班克斯(英语:Briana Banks,原名Briana Bany,1978年5月21日-),是一名德裔美国色情女星及成人模特儿。布莉安娜生于德国慕尼黑,父亲是德国人,母亲是意大利裔美国人。四岁时全
  • 奥克萨娜·巴尤尔奥克萨娜·巴尤尔(Oksana Baiul,1977年11月16日-),乌克兰花样滑冰运动员,曾获1993年世界锦标赛与1994年冬季奥运会冠军。至目前为止,她是唯一一位代表乌克兰夺得奥运花样滑冰金牌的选手。巴尤尔生于苏联乌克兰苏维埃社会主义共和国第聂伯罗彼得罗夫斯克,两岁那年父母离异,父亲谢尔盖(Sergey)从此消失在她生命中,她由担任法语教师的母亲玛莉娜(Marina)与外祖父母扶养长大。她外祖父母在1987、1988年相继过世,向来健康的母亲也于1991年因卵巢癌猝逝。巴尤尔的父亲出现在母亲的葬礼
  • 杰夫·鲁普杰夫·鲁普(Jeffrey Robert Roop,1973年8月21日-)是加拿大的一位演员,出生在加拿大魁北克省蒙特利尔。他曾经就读于莫斯科艺术剧场。鲁普现在居住在多伦多。