图的存储结构 - 链式前向星、邻接表

图的定义和术语总结

图按照有无方向分为有向图无向图。有向图由顶点和构成。无向图由顶点构成。弧有弧尾弧头之分。
无向图顶点边数叫做度,有向图顶点分为入度出度

图的存储结构

图的存储只影响遍历方式和效率。

邻接矩阵(Adjacency Matrix)

简单、好理解。但点的数量不能太多,n ≤ 1000 n≤1000n1000
无向图中,顶点v i v_ivi的度为在邻接矩阵中第i ii行(或第i ii列)的元素之和。
有向图中,顶点v i v_ivi的出度为在邻接矩阵中第i ii行的元素之和,顶点v i v_ivi的入度为在邻接矩阵中第i ii列的元素之和。
带权图中,一般初始化为∞ \infty,表示没有边。
n nn个顶点和e ee条边的无向图的创建,时间复杂度为O ( n + n 2 + e ) O(n+n^2+e)O(n+n2+e),其中初始化邻接表耗费O ( n 2 ) O(n^2)O(n2)

在无向图中,还有一种「半矩阵」的存储方式,用上三角(或下三角)+ 主对角线 压缩存储的一维数组方式。
一个n × n n\times nn×n的邻接矩阵可以被压缩到n ( n + 1 ) 2 \frac{n(n+1)}{2}2n(n+1)个元素。

邻接表(Adjacency List)

上述邻接矩阵对于边数较少顶点较多的图会产生极大浪费。
我们把数组与链表相结合的存储方式成为邻接表。
邻接表一般用ArrayList<ArrayList<Integer>> 维护。最常用。
n nn个顶点和e ee条边的无向图的创建,时间复杂度为O ( n + e ) O(n+e)O(n+e)

链式前向星

静态版的邻接表,时空效率更极致。
本质上是用链表实现的邻接表,从点映射到第一条边,再在n e x t nextnext数组上跳跃。这个链表使用头插法维护的。
h e a d headhead数组:起点 → 映射 第一条边 起点 \xrightarrow{\text{映射}} 第一条边起点映射第一条边
n e x t nextnext数组,边 → 映射 当前边的后继 边 \xrightarrow{\text{映射}} 当前边的后继映射当前边的后继
t o toto数组:边 → 映射 当前边的终点 边 \xrightarrow{\text{映射}} 当前边的终点映射当前边的终点
核心代码如下:

// 把握住头插法的流程// head[u] 和 cnt 的初始值为 -1publicstaticvoidadd(intu,intv,intw){next[++cnt]=head[u];head[u]=cntto[cnt]=v;weight[cnt]=w;}// 遍历所有点for(intu=1;u<=n;u++){System.out.print(u+"(邻居、边权) : ");// 遍历 u 的出边for(inti=head[u];i!=-1;i=next[i]){// c++ 可以用 ~i 用于表示 i != -1System.out.print("("+to[i]+","+weight[i]+") ");}System.out.println();}

h e a d headhead数组长度为点的数量
n e x t 、 t o 、 w e i g h t next、to、weightnexttoweight数组长度为边的数量,如果是无向图则需要边的数量x2。

#atom

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1211535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Synchredible(文件夹同步软件)

链接&#xff1a;https://pan.quark.cn/s/2dc96fccf8c7Synchredible是一款优秀的电脑文件夹同步软件&#xff0c;拥有有单项或双向同步两个同步模式&#xff0c;可选择同步类型&#xff1a;完全或新增。不仅如此还有“包含”筛选与“排除”筛选两种筛选方式可供选择。软件特色 …

磁盘碎片整理OO Defrag Pro

链接&#xff1a;https://pan.quark.cn/s/472767bda72dO&O Defrag Pro是一款专业的磁盘整理工具&#xff0c;主要用于NTFS格式&#xff0c;并且支持FAT16、FAT32、NTFS、NTFS5、FS&#xff08;加密文件系统&#xff09;等在内的多种类型磁盘格式。喜欢的话赶快来下载吧&…

2026一对一辅导机构参考|3家实测机构分享,适配不同学段提分需求

2026一对一辅导机构参考|3家实测机构分享,适配不同学段提分需求后台每天都能收到大量家长留言:“想给孩子选一对一辅导,助力稳步提分,但市面上机构众多,想找到精准适配的优质资源”“希望挑选到靠谱的一对一辅导…

2026物理辅导机构口碑红黑榜|实测5家爆款,避坑 提分攻略全拿捏

2026物理辅导机构口碑红黑榜|实测5家爆款,避坑 提分攻略全拿捏一、开篇暴击!家长选物理辅导的 3 大血泪坑,你踩中了吗? 调研显示,超70%初中生家长、半数高中生家长都为孩子物理学习焦虑。这门学科成了不少家庭的…

揭秘!性价比超高的高中一对一辅导机构大盘点

揭秘!性价比超高的高中一对一辅导机构大盘点一、家长的纠结:选辅导机构,性价比怎么衡量? “望子成龙,望女成凤”,每位家长都盼着孩子在高中阶段能打下坚实基础,顺利考上理想大学。为了这个目标,不少家长将目光…

【WPS最强版本】WPS Office

链接&#xff1a;https://pan.quark.cn/s/1899a5a953a8

上海英语辅导哪家靠谱?2026亲测指南:线上线下避坑+高性价比机构推荐

上海英语辅导哪家靠谱?2026亲测指南:线上线下避坑+高性价比机构推荐一、 魔都英语内卷:为啥选对辅导机构这么难? 上海职场与留学场景中,英语能力是核心竞争力,但本地英语辅导机构鱼龙混杂。线下机构通勤耗时,线…

电脑超级工具箱 C盘清理、系统修复、Office安装等

链接&#xff1a;https://pan.quark.cn/s/12df27adf426工具强大&#xff0c;集成超过100种不同工具&#xff0c;覆盖AI图片、AI音频、AI办公、AI设计以及系统优化、维护等工具&#xff0c;提升办公效率 免费使用&#xff0c;无广告&#xff0c;无需安装 界面友好&#xff0c;一…

最新版 微软邮箱注册机

链接&#xff1a;https://pan.quark.cn/s/cae9fff42ae6输入IP &#xff0c;输入打码&#xff0c;全自动批量注册&#xff0c;ip和打码地址已经打包一起了。正常可用

解析“三零生态”:为何山水印能成高端红茶新标杆,有机认证高端红茶/高端养生红茶/高山生态高端名优红茶,红茶企业排行榜

概括 在当今红茶市场,消费者对品质和健康的要求日益提高,但传统红茶生产常面临农药残留、添加剂使用以及生态破坏等痛点,难以满足高端消费群体的需求。“三零生态”概念的出现为解决这些问题提供了新方向。浙江山水…

Autodesk AutoCAD

链接&#xff1a;https://pan.quark.cn/s/64a0264e5da3Autodesk AutoCAD 2026是欧特克全球著名的专业计算机辅助设计软件。它为建筑师、工程师和施工专业人员提供了精密工具&#xff0c;同时为您量身定制的有用功能、宏和提示更快地完成项目。目前&#xff0c;该版本软件支持在…

使用firecracker创建虚拟机和配置firecracker作为kata后端的过程

参考资料如何在 AWS EC2 实例上通过“伪”嵌套虚拟化方案运行 Firecracker How to run Firecracker without KVM on cloud VMs 为AI Agent构建安全沙箱基础架构:在Amazon EKS上部署Kata Containers的最佳实践 https:/…

2025防火材料深度解析,带你了解防火涂料的多样应用,油性防火涂料/膨胀型防火涂料,防火涂料订制厂家电话

近年来,随着建筑、工业、交通等多个领域的快速发展,防火安全问题日益凸显,防火涂料作为一种重要的防火材料,其市场需求也在不断增长。然而,当前市场上防火涂料品牌众多,产品质量参差不齐,采购方在选择时往往面临…

大数据领域:数据价值挖掘的挑战与机遇

大数据领域&#xff1a;数据价值挖掘的挑战与机遇 关键词&#xff1a;大数据、数据价值挖掘、挑战、机遇、机器学习、数据质量、隐私保护 摘要&#xff1a;本文深入探讨大数据领域中数据价值挖掘面临的挑战与蕴含的机遇。开篇阐述大数据时代背景及数据价值挖掘概念的发展轨迹…

LeetCode 383 赎金信

文章目录摘要描述题解答案题解代码分析1. 字符计数的方法2. 统计 magazine 中的字符3. 检查 ransomNote 中的字符4. 为什么这样能解决问题&#xff1f;5. 优化&#xff1a;提前返回示例测试及结果示例 1&#xff1a;ransomNote "a", magazine "b"示例 2&…

Java 实战 - 字符编码问题解决方案

网罗开发&#xff08;小红书、快手、视频号同名&#xff09;大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等方…

LLMs之ISC:《Enhancing LLM Planning Capabilities through Intrinsic Self-Critique》翻译与解读

LLMs之ISC&#xff1a;《Enhancing LLM Planning Capabilities through Intrinsic Self-Critique》翻译与解读 导读&#xff1a;本文提出并验证了一种结构化的“内在自我批评”迭代方法—内在自检推动LLM规划能力跃升—通过让模型逐步生成计划、逐条检验动作前置条件并把历史失…

干货大集合!AI应用架构师构建AI系统性能监控平台全攻略

干货大集合&#xff01;AI应用架构师构建AI系统性能监控平台全攻略 关键词 AI系统性能监控、可观测性三支柱、Metrics设计、分布式追踪、模型漂移检测、Prometheus&Grafana、根因分析 摘要 当你花费数月搭建的AI推荐系统突然因为推理延迟飙升导致用户流失&#xff0c;或…

AI原生应用领域边缘推理:实现实时智能决策的关键

AI原生应用领域边缘推理&#xff1a;实现实时智能决策的关键关键词&#xff1a;AI原生应用、边缘推理、实时智能决策、边缘计算、云计算摘要&#xff1a;本文深入探讨了AI原生应用领域中边缘推理这一实现实时智能决策的关键技术。首先介绍了相关背景&#xff0c;包括目的、预期…