图 (数据结构)

✍ dations ◷ 2025-12-01 10:46:21 #图 (数据结构)

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

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

相关

  • 细胞应答交叉科学中心南开大学细胞应答交叉科学中心,2020年1月12日在天津市南开大学成立,中国工程院院士、南开大学校长曹雪涛,中国科学院院士、天津市科协主席、南开大学原校长饶子和共同揭牌。南
  • 保卫法国运动保卫法国运动(法语:Mouvement pour la France,缩写为MPF)为法国保守主义和欧洲怀疑主义的政党,成立于1994年11月20日,旺代省为主要票仓。领袖为菲利普·德·维里耶(Philippe de Vi
  • 安德烈·卡萨涅安德烈·卡萨涅(法语:André Cassagnes,1926年9月23日-2013年1月16日),法国发明家、电机工程师、玩具和风筝设计师。卡萨涅以发明神奇画板(英语:Etch A Sketch)(Etch A Sketch)而闻名,而
  • 桂林 (清朝官员)桂林(满语:ᡬᡠᡳᠯᡳᠨ,穆麟德:;?-1780年),伊尔根觉罗氏,满洲镶蓝旗人,官至总督。桂林为两广总督鹤年之子,早年出身廪生,捐纳为工部主事,屡次升迁至山西按察使。乾隆三十六年(1771年)三月,升
  • 古谢夫坐标:54°36′N 22°12′E / 54.600°N 22.200°E / 54.600; 22.200古谢夫 (俄语:Гу́сев、德语:Gumbinnen贡宾嫩、立陶宛语:Gumbinė、波兰语:Głąbin/Gąbin)是俄罗斯加里
  • 朝夏まなと朝夏まなと(中文译名:朝夏真人),爱称MAA,是元宝冢歌剧团宙组主演男役。出生于佐贺县佐贺市,佐贺大学文化教育学部附属中学校出身。身高172cm、血液型A型。姿月あさと(1998年1月1
  • 安培力定律在静磁学里,安培力定律专门描述两条载流导线相互作用的吸引力或排斥力,又称为安培力,是由载流导线的电流所产生的磁场(根据毕奥-萨伐尔定律),与对方的移动电荷的速度耦合而形成的
  • 1990年电影列表
  • Python软件基金会许可证Python软件基金会许可证(英语:Python Software Foundation License,PSFL)是一种BSD类型的,与GNU通用公共许可证(GPL)相兼容的宽松自由软件许可证。它的主要用途是分发Python项目软
  • 1923年日本足球全国锦标赛1923年日本足球全国锦标赛(第3回ア式蹴球全国优胜大会)是第 3 届日本足球全国锦标赛的足球赛事,原定1923年11月举行但发生关东大地震而顺延至1924年2月进行,比赛在东京高等师范