图的存储(邻接表法)
文章目录邻接表法顺序链式存储度的求法对比邻接矩阵 VS 邻接表数组实现的顺序存储邻接矩阵法空间复杂度高O(n2),不适合存储稀疏图适合存储稠密图。邻接表法顺序链式存储邻接表是一种“顺序存储 链式存储” 的混合体顶点表顺序/数组用一个一维数组存储所有顶点每个顶点带一个 “指向第一条边的指针”。边弧表链式/链表每个顶点后面挂一个单链表链表中每个结点存储邻接点的下标或指针和 指向下一条边的指针。#defineMaxVertexNum100// 最大顶点数// 1. 边(弧)表结点链表中存的是什么存的是【邻接点的位置】typedefstructArcNode{intadjvex;// 该弧所指向的顶点的位置数组下标structArcNode*next;// 指向下一条弧的指针// 若带权图这里加一个 int weight;}ArcNode;// 2. 顶点表结点数组中的元素是什么typedefstructVNode{VertexType data;// 顶点信息如 A, BArcNode*first;// 指向第一条依附于该顶点的弧的指针}VNode,AdjList[MaxVertexNum];// AdjList 是顶点数组类型// 3. 图结构包含顶点数组和顶点/边计数typedefstruct{AdjList vertices;// 顶点数组里面存了 VNode 和 指针intvexnum,arcnum;// 图的当前顶点数和边数弧数}ALGraph;无向图边结点的数量是2|E|整体空间复杂度为O( |V|2|E| )有向图边结点的数量是|E|整体空间复杂度为O( |V||E| )度的求法无向图顶点的度遍历该顶点相关的边链表有多少个边结点就有几度边数所有顶点度数和÷ 2因为每条边被存了两次。有向图顶点的出度OD遍历该顶点相关的边链表反映从当前结点出去的弧。顶点的入度(ID)指向当前顶点的弧计算麻烦需要全部遍历。弧数所有顶点出度之和即所有边表结点总数。对比邻接矩阵 VS 邻接表对比邻接矩阵邻接表空间复杂度O ( ∣ V ∣ 2 ) O(\vert V \vert^2)O(∣V∣2)有向图O ( ∣ V ∣ ∣ E ∣ ) O(\vert V \vert\vert E \vert)O(∣V∣∣E∣)无向图O ( ∣ V ∣ 2 ∣ E ∣ ) O(\vert V \vert2\vert E \vert)O(∣V∣2∣E∣)适用场景稠密图边多空间利用率高稀疏图边少节省空间有向图求入度O ( ∣ V ∣ ) O(\vert V \vert)O(∣V∣)扫描对应一列O ( ∣ V ∣ ∣ E ∣ ) O(\vert V \vert\vert E \vert)O(∣V∣∣E∣)需要遍历全部边为主要缺陷存储唯一性唯一顶点编号顺序确定矩阵就确定不唯一链表结点插入顺序不固定计算度 /出度 /入度必须遍历对应行或列计算有向图的度、入度不方便其余很方便找相邻的边必须遍历对应行或列找有向图的入边不方便其余很方便

相关新闻

探索uncertain_ground_truth:革命性框架如何解决AI评估中的模糊标注难题

探索uncertain_ground_truth:革命性框架如何解决AI评估中的模糊标注难题

探索uncertain_ground_truth:革命性框架如何解决AI评估中的模糊标注难题 【免费下载链接】uncertain_ground_truth Dermatology ddx dataset, Jax implementations of Monte Carlo conformal prediction, plausibility regions and statistical annotation aggregat…

2026/8/30 17:49:42 阅读更多 →
终极指南:如何用Loop免费提升Mac窗口管理效率300%

终极指南:如何用Loop免费提升Mac窗口管理效率300%

终极指南:如何用Loop免费提升Mac窗口管理效率300% 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否曾因Mac上杂乱的窗口布局而感到烦躁?当浏览器、文档、代码编辑器和聊天工…

2026/8/30 23:21:32 阅读更多 →
PTA团体程序设计天梯赛L2真题讲解L2-041-044

PTA团体程序设计天梯赛L2真题讲解L2-041-044

官网:https://pintia.cn/problem-sets/994805046380707840/exam/problems/type/7 文章目录L2-041 插松枝L2-042 老板的作息表L2-043 龙龙送外卖L2-044 大众情人L2-041 插松枝 题目大意 制作松枝的流程包含三个核心对象:推送器(按顺序给出n片…

2026/8/27 10:31:34 阅读更多 →

最新新闻

STM32F3DISCOVERY导入STM32CubeIDE报missing files?排查全指南

STM32F3DISCOVERY导入STM32CubeIDE报missing files?排查全指南

如果你是从 GitHub 上拉了一个 STM32F3DISCOVERY 的项目想导入 STM32CubeIDE,而导入窗口最后弹出一行missing files,或者工程倒是进来了,但 Project Explorer 里一片红叉,打开.ioc又提示文件或依赖缺失——先别急着怀疑仓库作者漏…

2026/8/31 22:53:55 阅读更多 →
Agent Skills实战:用OpenCode构建可复用的技能包

Agent Skills实战:用OpenCode构建可复用的技能包

Agent Skills 最近在开发者社区里出现频率很高,尤其是当你用过 Claude Code,会发现“技能(Skill)”这条设计思路很实用:它把经常要重复交代给 Agent 的背景知识、操作步骤和输出格式,打包成一整套可复用的文…

2026/8/31 22:53:55 阅读更多 →
基于知识图谱与RAG的法务智能问答系统实践

基于知识图谱与RAG的法务智能问答系统实践

简介:本资源是一个面向法律科技领域开发者的法务智能知识图谱实践项目,聚焦NLP与知识图谱技术在法律问答场景的落地应用,适用于具备Python、图数据库及自然语言处理基础的中级以上学习者。项目构建了覆盖20万条法务问答与法律资讯的知识库&am…

2026/8/31 22:53:55 阅读更多 →
STM32H745外挂SDRAM参考设计:FMC接口、硬件布线及初始化

STM32H745外挂SDRAM参考设计:FMC接口、硬件布线及初始化

最近整理了一块板子的核心参考设计:STM32H745IIT6 外挂一颗 IS42S83200J 的 SDRAM,容量 16MB,数据总线 32bit。可能有人会想,H745 已经是双核 480MHz 240MHz,内部还带 1MB SRAM,为什么还要再挂 SDRAM&…

2026/8/31 22:53:55 阅读更多 →
C#集成U2Net和ONNX Runtime实现本地一键抠图

C#集成U2Net和ONNX Runtime实现本地一键抠图

简介:本资源是一套基于C#实现U2Net图像抠图的完整开源项目,面向.NET开发者与计算机视觉初学者,解决在Windows平台下利用深度学习模型进行高精度人像/物体分割的实际需求。压缩包含81个文件,总计338.9MB,涵盖Visual Stu…

2026/8/31 22:53:55 阅读更多 →
贝叶斯算法与可视化技术在智能恶意流量检测中的工程实践

贝叶斯算法与可视化技术在智能恶意流量检测中的工程实践

简介:这是一套面向网络安全从业者与机器学习初学者的轻量级恶意流量检测实践工具,聚焦贝叶斯统计建模在渗透测试场景中的落地应用,解决传统规则匹配难以应对变种WebShell与低频异常行为的问题。资源共35个文件,主体为30个PHP WebS…

2026/8/31 22:52:55 阅读更多 →

日新闻

MCU无DAC如何用定时器+DMA 2D输出高保真任意波形

MCU无DAC如何用定时器+DMA 2D输出高保真任意波形

接到一个仪表类项目,要在 LAT1189 上输出几种不同波形:正弦、三角、带可调死区的脉冲,频率和幅度都得能实时改。板子上没有 DAC,就一个定时器加几个 DMA 通道。我一开始觉得在定时器中断里改比较寄存器也能应付,后来把…

2026/8/31 0:00:05 阅读更多 →
Cortex-M3 Flash下载失败?从编程错误标志到供电瞬态排查

Cortex-M3 Flash下载失败?从编程错误标志到供电瞬态排查

前两周调试一块带着Cortex-M3内核的板子,IDE里下载固件时突然弹出一行刺眼的错误: error: flash download failed - cortex-m3 。这种报错在嵌入式开发里太常见了,常见到很多人第一反应就是换根数据线、重插一下调试器,但重启三…

2026/8/31 0:00:05 阅读更多 →
STM32 TouchGFX屏幕切换Transition优化:原理、配置与排障实战

STM32 TouchGFX屏幕切换Transition优化:原理、配置与排障实战

做STM32 GUI开发的朋友应该都有体会——界面搭得再漂亮,一旦屏幕切换卡成PPT,整个产品的档次瞬间就没了。早期我在LAT1212这个基于STM32的GUI工程上用TouchGFX做二次开发,最头疼的不是画界面,而是怎么让切换动画既流畅又自然。Tou…

2026/8/31 0:00:05 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/8/31 13:13:27 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/8/31 9:02:46 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/8/31 14:32:14 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/30 21:10:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/30 18:07:21 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/30 21:10:44 阅读更多 →