数据结构--图的存储邻接表法

news2025/5/14 18:46:24

数据结构–图的存储邻接表法

邻接矩阵:
数组实现的顺序存储,空间复杂度高,不适合存储稀疏图

邻接表:
顺序+链式存储

邻接表法(顺序+链式存储)

//边/弧
typedef struct ArcNode
{
    int adjvex; //边/弧指向哪个结点
    struct ArcNode *next; //指向下一条弧的指针
    //Infotype info; //边的权值
}ArcNode;
//顶点
typedef struct VNode
{
    VertexType data; //顶点信息
    ArcNode *first; //第一条边/弧
} VNode, AdjList[MaxVerTexNum];
//用邻接表存储图
typedef struct 
{
    AdjList vertices;
    int vexnum, arcnum;
} ALGraph;

无向图:
边结点的数量是 2|E|,
整体空间复杂度为 O(|V| + 2|E|)

有向图:
边结点的数量是 |E|,
整体空间复杂度为 O(|V| + |E|)

图的邻接表表示方式并不唯一 \color{red}图的邻接表表示方式并不唯一 图的邻接表表示方式并不唯一

知识回顾与重要考点

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

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

相关文章

MVX-Net Multimodal VoxelNet for 3D Object Detection 论文学习

论文链接:MVX-Net Multimodal VoxelNet for 3D Object Detection 1. 解决了什么问题? 2D 目标检测取得了显著成效,但由于输入模态的本质区别,CNN 无法直接应用在 3D 检测任务。LiDAR 能准确地定位到 3D 空间的物体,基…

根据对象数组的key进行分组

简单版: const arr [{key: aaa,tableName: bbbbb},{key: aaa,tableName: bbbbb},{key: www,tableName: bbbbb},{key: www,tableName: bbbbb},{key: mysql_ytr,tableName: bbbbb} ]// 把arr按key進行分組, 輸出結果是對象,對象裡面用key做鍵…

logback自定义调用以及文件输出

1、logback 首先五大日志等级是不可更改的,我们所定义的日志输出和调用也是用的这五大等级,这个就不多说了,没啥用。 2、效果 调用 String msg "测试日志"; MyLoger.myloger(msg); 输出 2023-07-18 10:55:05 [main] INFO m…

[element-ui] el-select,虚拟滚动(vue-virtual-scroll-list)

一、问题描述 表单中某下拉框,由于数据过多,选择的时候会因为数据量过大导致页面卡顿,于是对于el-select进行二次封装,实现虚拟滚动。 二、实现如下: 看起来是加载了全部数据,实际上只加载了自己设定的1…

单例模式类设计|什么是饿汉模式和懒汉模式

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量干货博客汇总https://blog.csdn.net/yu_cblog/c…

汇编实现1-100累加(ARMv7)

汇编实现1-100累加 代码.text .globl _start _start:mov r0,#0 summationmov r1,#0 autoIncrementbl funadd funadd:cmp r1,#100addccs r0,r1,r0addccs r1,r1,#1mov pc,lr stop:b stop .end运行效果

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型 给本帖投票 56211打赏收藏 分享 转发到动态举报 写回复 性能测试中发现oracle11g数据库每天22点,oralce进程CPU占用率突增>> 11 条回复 切换为时间正序 请发表友善的回复… 发表回复 microsof…

UWB天线设计之一种优化扁平超宽带单极的新方法

文章亮点 一种新颖的方法提出了扁平超宽带单极天线。 通过应用收缩,可以设计具有相同性能的更小的天线作为平面单极天线。 优化结果表明该方法能够设计非常小的天线。 在这项研究中,提出了一种优化扁平超宽带单极天线的新方法。在该方法中,一般性地描述了天线的形状。这种一…

Http 接口测试框架

目录 前言: 实际效果 框架的下一步 最新框架图(红色部分未完成) 部分代码 你需要做的 前言: 在进行HTTP接口测试时,使用一个可靠的测试框架可以提高测试效率和质量。HTTP接口测试框架是一种用于自动化测试HTTP接…

STM32数字小键盘

基于STM32的数字小键盘 自己的键盘小键盘数字键坏了几个,准备自己用STM32做一个数字键盘。 硬件 找了一些资料,感谢知乎老哥。 原理图 采用的是主控是STM32F103RBT6,上拉1.5K接高速USB。按键采用的是矩阵按键。轴位可以自己选择。还接了一…

OpenCv之图像轮廓

目录 一、图像轮廓定义 二、绘制轮廓 三、计算轮廓面积与周长 一、图像轮廓定义 图像轮廓是具有相同颜色或灰度的连续带你的曲线.轮廓在形状分析和物体的检测和识别中很有用 轮廓的作用: 用于图形分析物体的识别与检测 注意点: 为了检测的准确性,需要先对图像…

AI 救不了好莱坞,16 万演员联合编剧上演史诗级「罢工大戏」

内容一览: 近日,美国演员工会正式加入编剧工会行列,开始举行罢工,由此,被多家媒体称为好莱坞「末日」时刻来临。值得关注的是,本次罢工的原因,除了老生常谈的薪资问题,还有一个重要的…

多用户商城系统Dokan评测优点与缺点(2023)

目录 多用户商城系统Dokan优点 多用户商城系统Dokan缺点 您应该开始使用多供应商市场吗? 多用户商城系统Dokan评论 为什么选择Dokan? 用户界面 用户友好的前端 仪表板和后端 管理员后台 供应商仪表板 第三方兼容性 Dokan 可以卖什么&…

c#调用cpp库,debug时不进入cpp函数

选中c#的项目,右击属性,进入属性页,点击调试,点击打开调试启动配置文件UI,打开启用本机代码调试。

Scrapy和Selenium整合(一文搞定)

文章目录 前言一、开始准备1. 包管理和安装chrome驱动2. 爬虫项目的创建(举个栗子)3. setting.py的配置 二、代码演示1. 主爬虫程序2. 中间件的配置3. 定义item对象4. 定义管道 总结 前言 scrapy和selenium的整合使用 先定个小目标实现万物皆可爬&#…

Loadrunner结合Fiddler实现脚本的录制

Loadrunner一直被业内认为是最好用的性能测试工具,行业大哥大, 但是用过Loadrunner的朋友都知道,工具功能的确牛,但实际使用过程中总会有一些困扰新手的问题,无法录制脚本, 如遇到Loadrunner不支持的IE版本、对Chrome、…

【C语言】Sleep()函数----详解

🍁 博客主页:江池俊的博客 🍁收录专栏:C语言——探索高效编程的基石 🍁 如果觉得博主的文章还不错的话,请点赞👍收藏🌟 三连支持一下博主💞 目录 前言 📌C语言sleep函…

一本通1919:【02NOIP普及组】选数

这道题感觉很好玩。 正文: 先放题目: 信息学奥赛一本通(C版)在线评测系统 (ssoier.cn)http://ybt.ssoier.cn:8088/problem_show.php?pid1919 描述 已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k&#…

Docker 容器生命周期:创建、启动、暂停与停止----从创建到停止多角度分析

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

Vuex基本使用

目录 一、什么是vuex二、什么时候使用 Vuex三、Vuex 工作原理图四、vuex 核心概念和 API4.1 state4.2 actions4.3 mutations4.4 getters 五、代码生成器5.1 mapGetters5.2 mapState5.3 mapActions5.4 mapMutations 六、vuex模块化编码七、求和案例 一、什么是vuex 专门在 Vue …