快速脸熟6种图存储数据结构和1736年那点事

一、场景

六种图存储算法各自适用于不同的场景,具体如下:
1、邻接矩阵(Adjacency Matrix):
使用场景:适用于稠密图,在处理大型稀疏图时可能会浪费大量空间。
优点是查询两个顶点之间是否存在边非常快,时间复杂度为O(1)。
2、邻接表(Adjacency List):
使用场景:适用于稀疏图,在处理大型稀疏图时比邻接矩阵更节省空间。
查询两个顶点之间是否存在边的时间复杂度为O(V),但可以通过优化减少实际查找时间。使用链表来表示图的方法。
3、十字链表(Orthogonal List):
使用场景:主要用于稀疏矩阵的存储,特别是在需要频繁进行矩阵的行和列操作时。可以有效地支持矩阵的压缩存储和快速访问。
4、邻接多重表(Adjacency Multilist):
使用场景:适用于需要频繁对图进行修改(如添加或删除边)的场景。通过为每条边维护一个节点,可以方便地处理边的共享问题,从而简化图的修改操作。是一种链表的变种,是邻接表的变种
5、边缘列表(Incidence List):
使用场景:适用于需要快速访问顶点的所有邻接边的场景。边缘列表可以快速地遍历一个顶点的所有出边或入边。与邻接表类似,但是以边为中心的表示方法,也就是说邻接表是以顶点为中心。
6、邻接数组(Adjacency Array):
使用场景:类似于邻接矩阵,适用于稠密图。邻接数组是邻接矩阵的压缩版本,它通过数组来存储邻接矩阵中的非零元素。

二、1736年

图论的创始人是莱昂哈德·欧拉(Leonhard Euler)。欧拉是18世纪的瑞士数学家和自然科学家,他在1736年发表了一篇题为“哥尼斯堡的七座桥”的论文,这篇论文被认为是图论历史上的第一篇论文(1707年出生的他当时29岁)。欧拉在这篇论文中解决了著名的柯尼斯堡七桥问题,从而奠定了图论的基础。因此,欧拉被公认为是图论的创始人

在欧拉之后,图论经历了多个阶段的发展,许多数学家和研究者都对图论做出了重要的贡献。例如,克希霍夫在研究电网络方程时引入了“树”的概念,凯莱在计数烷的同分异构物时也发现了“树”,哈密尔顿提出了“周游世界”游戏(在图论中称为寻找连通图中的生成圈)。

然而,直到1936年,匈牙利数学家Konig出版了第一本图论专著《有限图与无限图的理论》,图论才正式作为一个独立的数学学科出现在人们的视野中

近几十年来,由于计算机技术和科学的飞速发展,图论的研究和应用得到了极大的促进,图论的理论和方法已经渗透到多个学科中。

三、1736年的中国

爱新觉罗·弘历登基(雍正帝于1735年去世)。在1736年2月12日开始使用“乾隆”这个年号。1711年出生的弘历当年25岁,比欧拉小四岁。

四、总结

选择合适的图存储结构取决于具体的应用需求,如图的稀疏性、是否需要频繁修改图结构、是否需要快速查询顶点关系等。在实际应用中,通常需要根据具体情况权衡各种存储结构的优缺点,选择最合适的一种。

仔细看了两个时间点,1736,1936年,整整是2百年的差,很巧(所谓的巧只是记忆做了特征提取,差值200比较好记忆。)

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值