在这里了解图数据结构的要点
来源:dev.to
2024-12-17 10:46:00
0浏览
收藏
本篇文章给大家分享《在这里了解图数据结构的要点》,覆盖了文章的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

此博客适合那些想要了解概念要点而不是拐弯抹角的开发人员。我们将在这篇文章中了解图数据结构。让我们开始吧。
什么是图表?
图是非线性数据结构,由边和节点两个部分组成。

节点是:-
- 图形的基本单位,
- 也称为一个或多个顶点,以及
- 可以带标签或不带标签。
边缘是:-
- 两个节点之间的连接,
- 也称为弧线,以及
- 可以带标签或不带标签。
图表类型:-
- 空图:没有边,
- 三元图:只有一个节点,
- 循环图:至少包含一个循环,
- 循环图:所有节点相连构成一个循环,
- 有向图:它的边有方向,
- 无向图:它的边没有任何方向,
- 加权图:为每条边分配一些值,
- 连通图:我们可以从一个节点访问任何其他节点(它不必是唯一的边),
- 未连接图:某个节点至少有一个节点断开连接,
- 正则图:每个顶点都有相同数量的邻居,
- 完全图:每个节点都通过唯一的边连接到另一个节点,
- 有向无环图:没有环的有向图,
- 二部图:它的节点可以分为2个集合,使得集合之间不存在边。
我们如何存储图表?
有2种方法:
- 邻接矩阵,以及
- 邻接矩阵
邻接矩阵是表示图数据结构的二维矩阵。行和列代表节点,矩阵中的值代表边。

在上图中,4 个节点通过边连接。节点A与所有节点相连,因此在A(行或列)与其他节点的行或列相交的单元格中,该值被添加为1。节点 B 仅连接到节点 A,导致节点 B 与节点 A 相交的单元格中值为 1,其他单元格值为 0。
为相邻矩阵添加或删除边的时间复杂度为 O(1)。它可以在以下情况下使用:-
- 图表具有最大可能的边,
- 没有内存限制,并且
- 该图具有复杂的结构。
相邻列表借助多个链表或数组来存储图形。行代表节点(检查下图),行中的值代表邻居。

上图中,有 5 个节点。节点 A 连接到节点 B 和节点 D,这就是第一个数组具有这些值的原因。类似地,节点 B 连接到节点 A、节点 C、节点 D 和节点 E,因此第二个阵列在第二个阵列中具有这些节点。
检索或删除边的时间复杂度为 O(n),添加边的时间复杂度为 O(1)。相邻列表可以在以下情况下使用: -
- 节点的边较少,
- 存在内存限制,并且
- 图表不太复杂。
图:相邻列表和相邻矩阵之间的视觉比较。

图表的用例
图数据结构的一个流行示例是:在足球场上,每个球员都可以被视为一个节点,他们的交互代表边。
图的使用场景与前面的示例类似,例如:-
- 在每个人都是节点的社交网络中,
- 在以 PC 和路由器为节点的计算机网络中,
- 交通网络等等...
终于介绍完啦!小伙伴们,这篇关于《在这里了解图数据结构的要点》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
Nginx如何突破三次握手限制,实现百万级并发连接?
- 上一篇
- Nginx如何突破三次握手限制,实现百万级并发连接?
- 下一篇
- 本周 JavaScript 2
查看更多
最新文章
-
- 文章 · 前端 | 3小时前 |
- JavaScript日期格式化方法全解析
- 325浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- HTML5边框定位不占位技巧
- 405浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- CSSLint优化技巧与样式提升方法
- 413浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- CSSSticky定位技巧:滚动与固定结合应用
- 293浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- 统一图标风格,FontAwesome全站应用指南
- 356浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- JavaScript动态加载模块技巧解析
- 119浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- LinuxHelix加速技巧与重构指南
- 182浏览 收藏
-
- 文章 · 前端 | 3小时前 | 顶层await
- 顶层await用法详解与实战技巧
- 288浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- 表单数据保留与自动清理技巧
- 120浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- EventLoop机制解析与执行顺序控制技巧
- 392浏览 收藏
-
- 文章 · 前端 | 3小时前 |
- Tailwind任意值类解决方法详解
- 321浏览 收藏
-
2. CSS 样式使用 ::after 伪元素来在图片上叠加文字:
.im">

