图 (数据结构)

✍ dations ◷ 2025-11-05 11:16:31 #图 (数据结构)

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

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

相关

  • 过去过去是一个抽象的概念,表现在时间的变化上。跟现在相反,过去所代表的都是已经发生过的人事物。比如某人的回忆、一场历史事件。只要是一分一秒发生过了,都被当作是过去。
  • 高僧传《高僧传》为一部成书于南北朝 记录中国东汉至至当时佛教僧人的史料,由南朝梁僧人慧皎(497年~554年)撰。十四卷,收录于大正藏 CBETA T50 No. 2059 。后人有时称此书为《梁高僧传
  • 天保改革天保改革(1841-1843年)是日本的德川幕府在第十二代将军德川家庆在位时期,针对江户时代晚期,动摇著德川幕府的封建统治的商业化发展,及当时第一次中英战争为远东带来的紧张局势,所作
  • 夏尔-弗朗索瓦·布里索·德米尔贝尔夏尔-弗朗索瓦·布里索·德米尔贝尔 (法语:Charles-François Brisseau de Mirbel,1776年3月27日-1854年9月12日)是法国植物学家和政治家,是植物细胞学的奠基人。 他出生于巴黎,20
  • 亨利·赛门斯亨利·卡尔维特·赛门斯(英语:Henry Calvert Simons,1899年10月9日-1946年6月19日)美国芝加哥大学的经济学家。他的反垄断和货币主义主张对于芝加哥经济学派影响巨大。亨利·赛门
  • 氟化钴氟化钴,一种无机化合物,化学式为CoF2。常温下为粉红色晶体。氟化钴可以由氢氟酸及氯化亚钴或氧化亚钴制备,反应式如下:
  • 亚历山大·兰科维奇亚历山大·“雷卡”·兰科维奇(塞尔维亚语:Александар Ранковић ,1909年11月28日–1983年8月20日)是一位塞尔维亚裔的南斯拉夫共产主义政治领袖,被认为是仅次
  • 喻皓喻皓(?-?),又作预浩、喻浩、预皓,五代末北宋初浙江杭州一带人,中国古代有名的建筑工匠。他的生卒年代历史上缺乏记载,只知道他在北宋初年当过都料匠(掌管设计、施工的木工),长期从事建筑
  • 一条天皇一条天皇(日语:一条天皇/いちじょう てんのう ;980年7月15日-1011年7月25日),是日本第66代天皇,986年7月31日-1011年7月16日在位。名怀仁(日语:懐仁/やすひと )。他是圆融天皇的第一皇子,母亲是藤原兼家之女诠子。一条天皇的父帝圆融天皇除了他以外,没有其他子女,因此一条天皇为独生子。永观2年(984年),还在花山天皇的时代,就被立为皇太子。986年8月1日,因为花山天皇出家,七岁的皇太子即位(一说是兼家为了让孙子早点即位而实行的阴谋)。立冷泉天皇的皇子居贞亲王(三条天皇)为皇太
  • 都得主义都得主义(英语:Dudeism)是一种新兴宗教、哲学或生活方式。Dude意为伙计,源于1998年电影《谋杀绿脚趾》的主角The Dude。都得主义的主要目的是推广一种现代道教,其中融入了古希腊哲学家伊壁鸠鲁的观点,所得的人格以《谋杀绿脚趾》的主人公展现。都得主义常被认为是一种模仿宗教,因为它使用了喜剧电影的元素,并有时批评了传统宗教,不过它的创立者以及许多追随者们都严肃对待都得主义背后的哲学。 每年三月六日是都得主义的圣日。 都得主义于2005年由一位居于泰国清迈的记者Oliver Benjamin创立。