图 (数据结构)

✍ dations ◷ 2025-12-10 04:07:18 #图 (数据结构)

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

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

相关

  • 离心力离心力(英语:centrifugal force)是一种虚拟力或称惯性力,它使旋转的物体远离它的旋转中心。在牛顿力学里,离心力曾被用于表述两个不同的概念:在一个非惯性参考系下观测到的一个惯
  • CV-35 复仇号复仇号航空母舰(USS Reprisal CV-35)是一艘隶属于美国海军的未完成航空母舰,原为埃塞克斯级航空母舰的十八号舰。她是美军第三艘以复仇为名的军舰。复仇号在1944年7月1日开始建
  • 贝尔法斯特都市区贝尔法斯特都市区(英语:Belfast Metropolitan Area)是位于英国北爱尔兰的一个都市区,包括了贝尔法斯特及其邻近的卫星城市。贝尔法斯特都市区共有人口579,276人。贝尔法斯特都市
  • 埃米尔·维尔哈伦埃米尔·维尔哈伦(1855年5月21日-1916年11月27日),比利时法语诗人,剧作家。象征主义诗歌的创始人之一。维尔哈伦生于比利时安特卫普省圣阿曼兹一个说法语的中产阶级家庭,不过维尔
  • 铅管铅管,是用铅制造的非铁金属管。铅管具耐压及延展性,适合在狭窄及转弯的角落地方使用,常用于输送水、瓦斯、酸性液体等。由于铅管机械性能佳,在1920年代至1970年代曾广泛用于水管
  • 五四路街道五四路街道,是中华人民共和国河北省保定市莲池区下辖的一个乡镇级行政单位。五四路街道下辖以下地区:王庄路社区、天马社区、西苑北社区、西苑南社区、迎宾社区、东星社区、兰
  • 利丽思商学综合大楼利丽思商学综合大楼(LCB)是俄勒冈大学尤金校区的一栋建筑。是俄勒冈大学查尔斯朗德克斯特商学院的所在地,包含有2003年竣工于2003年的新大楼利丽思堂,以及3座旧大楼吉尔伯特堂,彼
  • 2008年美国周末票房冠军下列列表为2008年美国周末电影票房冠军。
  • 埃斯特万·坎比亚索 埃斯特万·坎比亚索(西班牙语:Esteban Cambiasso,1980年8月18日-),乃一名前阿根廷足球运动员,司职中场。坎比亚索以前曾效力阿根廷独立、河床,和西班牙俱乐部皇家马德里等等。2
  • 耿寿姬耿寿姬(?-518年),中国南北朝时期北魏文成帝拓跋濬的嫔妃。耿寿姬是定州钜鹿曲阳人,父亲耿绍,为建中将军、魏郡太守。母亲是冀州勃海人吴氏。兄长耿神宝,魏献文帝时行顺州、定州。堂兄弟耿世明,为郡功曹,督护本县令。耿世明之子耿海宾为郡功曹,复为郡中正。魏孝明帝神龟元年(518年)三月初八日耿寿姬去世。