链式前向星

✍ dations ◷ 2025-07-06 17:36:56 #软件,数据结构,存储软件

链式前向星是一种用于存储图的数据结构,一般认为是由Jason911发明的。链式前向星采用了邻接表的思想,本质上就是用链表实现的邻接表。可以使用数组模拟链表,定义head,to,nxt,edge数组,其中长度为n的head数组表示从每个节点出发的第一条边在to和edge数组中的位置,长度为m的to和edge是一一对应的,分别记录每条边的终点与边权(对于无权图,edge数组可省略),长度也为m的nxt数组模拟了链表指针,表示从相同节点出发的下一条边在to和edge数组中的位置。因此,链式前向星的空间复杂度为 O ( n + m ) {\displaystyle O(n+m)}

邻接矩阵比链式前向星好写,链式前向星比邻接表好写。

邻接矩阵比邻接表效率高,邻接表比链式前向星效率高。

邻接矩阵空间复杂度为 O ( n m ) {\displaystyle O(nm)} ,过于高;邻接表的空间复杂度与链式前向星差不多。

邻接矩阵扩展性极差,应用范围不广,邻接表和链式前向星扩展性较好。

相较而言,链式前向星是一个比较中庸的数据结构。虽说链式前向星还未普及开来,但它绝对是一种优秀的数据结构。

C++代码实现:

相关

  • 国际植物名称索引国际植物名称索引(International Plant Names Index)是一个植物名称数据库。其记录种子植物、蕨类植物和拟蕨类植物。其内容包括与名称有关的基本书目资料,免去了需要反复提及
  • 南肯辛顿坐标:51°29′28″N 0°10′37″W / 51.4912°N 0.1769°W / 51.4912; -0.1769南肯辛顿(South Kensington),是英国伦敦市中心偏西部肯辛顿-切尔西区中的一个地区,主要由伦敦地铁
  • 獴科獴科(学名:Herpestidae),哺乳纲食肉目的一科,外形较像猫,有猫鼬的别称。包括獴亚科及缟獴亚科两个亚科。以下几属过去归为獴科,现在被分入食蚁狸科(Eupleridae):
  • 杜诗杜诗(前1世纪?-38年),字君公,河内郡汲县人,东汉官员及发明家。年轻时有才能,在那里任官为功曹,以公平著称。更始政权时,被征辟为大司马府官员。建武元年(25年),一年内三次升迁至侍御史。
  • 法国人口2013年1月1日时,法兰西共和国有人口66,394,000,其中63,702,000人居住在法国本土, 2,692,000人居住在法国的海外省或法国海外领土。法国曾是欧洲人口最多的国家,中世纪时期欧洲四
  • 色谱法期刊A《色谱法期刊A》(,常缩写为 )是分析化学领域的学术期刊。色谱法期刊A为周刊,创刊于1958年,主要为发表分离与化合物鉴定的技术与方法,包括色谱法、电迁移技术(如电泳、电色谱)、样品
  • 自转周期自转周期(英语:Rotation period)在天文学中是指当一个物体绕着自己的转轴(英语:Rotation around a fixed axis),相对于背景的恒星完成一次完整转动的时间。自转周期和行星的恒星日
  • 国际机构学与机器科学联合会国际机构学与机器科学联合会成立于1969年,是机械工程领域中最具权威的国际学术组织之一,为研究人员和工程师提供机械工程领域的理论与应用。
  • 山刺番荔枝 Mart. Vell. Mart. 山刺番荔枝又名山刺果番荔枝(学名:、mountain soursop、罗李亮果、阿那那)为番荔枝科番荔枝属下的一个种。台湾南投县埔里有生长、称之为“阿那那”。果
  • 盖斯科格尔山 (斯图拜阿尔卑斯山脉)坐标:坐标:Unknown argument format 盖斯科格尔山(德语:Gaißkogel),是奥地利的山峰,位于该国西部,由蒂罗尔州负责管辖,属于斯图拜阿尔卑斯山脉的一部分,海拔高度2,820米,每年平均降雨