图的存储(邻接表法)
文章目录邻接表法顺序链式存储度的求法对比邻接矩阵 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/10/20 16:30:17 阅读更多 →
终极指南:如何用Loop免费提升Mac窗口管理效率300%

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

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

2026/10/20 16:30:15 阅读更多 →
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/10/16 13:59:23 阅读更多 →

最新新闻

AI+Wireshark智能抓包:从过滤表达式到异常定位的排障实战

AI+Wireshark智能抓包:从过滤表达式到异常定位的排障实战

Wireshark 用了快十年,前几年我碰上问题,基本都是靠逮住一个包啃半天来定位。但这段时间我的工作习惯变了:AI 和 Wireshark 抓包放在一起之后,很多过去靠肉眼硬看才能发现的规律,秒级就能出来。这篇文章不是讲怎么装 W…

2026/10/20 16:30:14 阅读更多 →
GPIO驱动能力与输出摆率详解:信号质量、功耗与EMI的平衡秘诀

GPIO驱动能力与输出摆率详解:信号质量、功耗与EMI的平衡秘诀

你打开单片机厂商的图形化配置工具,看到一个引脚的下拉菜单里躺着“驱动能力”和“输出摆率”两个选项,旁边默认写着 Low 或 High。大部分人跟着感觉选了最大档,觉得“越大越稳”。我在项目里吃过亏之后才意识到,这两个参数是 GPI…

2026/10/20 16:30:14 阅读更多 →
基于单片机的智能窗帘控制系统设计与实现:从硬件到调试

基于单片机的智能窗帘控制系统设计与实现:从硬件到调试

先说结论:这类项目真正的难点不在单片机代码,而在机械装配和现场调试。很多人看到"基于单片机的智能窗帘控制系统设计"这个题目,第一反应是"单片机接个电机转起来就完事了",其实远没有这么简单。我自己做这套…

2026/10/20 16:30:14 阅读更多 →
增量Delaunay三角剖分C++实现:点定位、翻边与避坑指南

增量Delaunay三角剖分C++实现:点定位、翻边与避坑指南

简介:本资源面向计算几何与图形学方向的 C 开发者,提供一套增量 Delaunay 三角剖分算法的完整实现,可用于最大化三角网格中所有三角形的最小内角,改善网格质量。项目采用顾贤峰教授提出的「半边」数据结构组织拓扑关系&#xff0c…

2026/10/20 16:30:14 阅读更多 →
DSP28335 XINTF外扩SRAM完整指南:从时序配置到CMD段分配

DSP28335 XINTF外扩SRAM完整指南:从时序配置到CMD段分配

做DSP开发的人,迟早会撞上内存不够用的墙。28335虽然带浮点单元,可内部那块SARAM总共也就三十几K字,跑个FFT、存一组采集数据、塞个查找表,说满就满。这时候最顺手的解法就是走XINTF外扩SRAM。这个实验在普中DSP28335开发攻略里被…

2026/10/20 16:30:14 阅读更多 →
从Softmax到混淆矩阵:分类模型标签转换与可视化实战

从Softmax到混淆矩阵:分类模型标签转换与可视化实战

分类模型训练完之后,真正让你睡不着的往往不是loss降不降得下去,而是模型在验证集上到底把哪些类别搞混了。而要把这个问题看清楚,就绕不开一个基础动作:把模型最后一层算出来的softmax概率,转成真正能拿来跟标注做对比…

2026/10/20 16:29:13 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →