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

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

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

邻接表:
顺序+链式存储

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

//边/弧
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.mzph.cn/news/2700.shtml

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

相关文章

echarts 单数据,平滑曲线柱状图显示

var myChart echarts.init(document.getElementById(main)); let namelist [23/01, 23/02, 23/03, 23/04, 23/05, 23/06, YTD] let planList [10.9, 22.6, 15.6, 14.4, 12.0, 12.3, 14.6] let target 14 // 指定图表的配置项和数据 var option { tooltip: { },//提示语 xA…

AI 与自动化:更多的自动化,全新的自动化方式?

每一次 ChatGPT 的更新,都会给我们带来大量新的能力,这些能力往往会逐步应用在改变我们现有工作流程上,因此我是比较看好这一波 AI 在自动化(RPA)领域的价值的,不过要将一个新技术真正应用直至取代复杂的工…

wampserver的mysql8.0版本在my.ini文件中加入skip_grant_tables无效等一系列问题。

背景:安装了新的wampserver之后,php版本mysql8.0.31,想打开phpadmin可视化管理页面,后来忘记密码了,报错:ERROR 1045 (28000): Access denied for user rootlocalhost (using password: No),只能…

Linux搭建SVN环境(最新版)

最新版本号(svn-1.14) https://opensource.wandisco.com/centos/7 更新版本库 sudo tee /etc/yum.repos.d/wandisco-svn.repo <<-EOF [WandiscoSVN] nameWandisco SVN Repo baseurlhttp://opensource.wandisco.com/centos/$releasever/svn-1.14/RPMS/$basearch/ enabled…

Django中使用反向关系名称(related_name)解决由“多对多”关系引起的字段名字冲突问题引起的迁移命令报错。

当在模型中为关系字段添加了related_name参数后&#xff0c;您可以使用该参数指定的名称来引用反向关系。下面是一个简单的例子来说明如何引用反向关系。 假设您有以下两个模型&#xff1a; from django.db import modelsclass Author(models.Model):name models.CharField(…

Redis 从入门到精通【进阶篇】之高可用哨兵机制(Redis Sentinel)详解

文章目录 0.前言1. 原理详解1.1. 哨兵机制的组建1.1. 哨兵是如何知道从库的信息 1.2. 主库下线的判定1.3. 哨兵集群选举1.4. 故障的转移 2. 总结3. Redis从入门到精通系列文章4. Redis哨兵模式面试题4. 1. 什么是Redis的哨兵模式&#xff1f;4. 2. 哨兵模式的优点是什么&#x…

【redis】list类型命令简述

redis的list类型&#xff0c;可以存储双向链表作为value&#xff0c;key保留有head和tail指针可以指向双向链表的头和尾&#xff0c;因此可以直接从头或尾对list进行操作。 全部命令如下&#xff1a; 127.0.0.1:6379> help listBLMOVE source destination LEFT|RIGHT LEFT|…

CCF真题练习:202209-1如此编码

题目背景 某次测验后&#xff0c;顿顿老师在黑板上留下了一串数字 23333 便飘然而去。凝望着这个神秘数字&#xff0c;小 P 同学不禁陷入了沉思…… 题目描述 已知某次测验包含 n 道单项选择题&#xff0c;其中第 i 题&#xff08;1≤i≤n&#xff09;有 个选项&#xff0c;…

了解交换机接口的链路类型(access、trunk、hybrid)

上一个章节中讲到了vlan的作用及使用&#xff0c;这篇了解一下交换机接口的链路类型和什么情况下使用 vlan在数据包中是如何体现的&#xff0c;在上一篇的时候提到测试了一下&#xff0c;从PC1去访问PC4的时候&#xff0c;只从E0/0/2发送给了E0/0/3这是&#xff0c;因为两个接…

gogs的自定义配置

在 GOGS 下载并安装后&#xff0c;在程序目录下建立一个custom/conf/app.ini的配置文件&#xff0c;内容如下&#xff1a; APP_NAME Gogs # APP名字 RUN_USER git # 启动用户&#xff0c;设置后只能以此账号启动gogs RUN_MODE prod[database] DB_TYPE mysql HOST 1…

PHP特性之CTF中常见的PHP绕过

目录 一、关于md5()和sha1()的常见绕过 1、使用数组绕过 2、 使用特殊字符串绕过 二、strcmp绕过 三、switch绕过 四、intval绕过 一、关于md5()和sha1()的常见绕过 知识介绍&#xff1a; 1、对于php强比较和弱比较&#xff1a;md5()&#xff0c;sha1()函数无法处理数组…

使用3DS Max 创建未来派螺栓枪模型

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 步骤 1 创建一个框并将其转换为可编辑多边形&#xff08;右键单击>转换为&#xff1a;>转换为可编辑多边形&#xff09;&#xff0c;然后使用连接添加一系列边循环&#xff0c;如下图所示。 步骤 2 …

基于JavaSpringBoot+Vue+uniapp微信小程序实现鲜花商城购物系统

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

⚡【C语言趣味教程】(3) 浮点类型:单精度浮点数 | 双精度浮点型 | IEEE754 标准 | 介绍雷神之锤 III 源码中的平方根倒数速算法 | 浮点数类型的表达方式

&#x1f517; 《C语言趣味教程》&#x1f448; 猛戳订阅&#xff01;&#xff01;&#xff01; ​—— 热门专栏《维生素C语言》的重制版 —— &#x1f4ad; 写在前面&#xff1a;这是一套 C 语言趣味教学专栏&#xff0c;目前正在火热连载中&#xff0c;欢迎猛戳订阅&#…

文件IO_文件截断_ftruncate,truncate(附Linux-5.15.10内核源码分析)

目录 1.为什么需要文件截断&#xff1f; 2.truncate函数介绍 2.1 truncate函数 2.2 truncate函数内核源码分析 2.3 truncate函数使用示例 3.ftruncate函数介绍 3.1 ftruncate函数 3.2 ftruncate函数内核源码分析 3.3 ftruncate函数使用示例 3.4 ftruncate和文件偏移量…

进程间通信之共享内存

共享内存 1.共享内存的概念2.共享内存函数2.1 shmget函数2.2 shmat函数2.3 shmdt函数2.4 shmctl函数 3. 共享内存的使用 1.进程间通信的分类&#xff1a; &#xff08;1&#xff09;管道&#xff1a;1、匿名管道pipe;2、命名管道mkfifo &#xff08;2&#xff09;System V IPC&…

跨境电商中的安全利器与效率助推器

在如今全球互联网时代&#xff0c;跨境电商已成为全球贸易的重要组成部分。然而&#xff0c;对于从事跨境电商的企业和个人而言&#xff0c;面对诸多网络隐私与安全风险&#xff0c;如何确保在线操作的安全性和高效性成为了摆在他们面前的重要课题。本文将向您介绍隐擎Fox指纹浏…

从Spring 应用上下文获取 Bean

ApplicationContext 提供了获取所有已经成功注入 Spring IoC 容器的 Bean 名称的方法 getBeanDefinitionNames() 。然后我们可以借助于其 getBean(String name) 方法使用 Bean 名称获取特定的 Bean。 我们使用 CommandLineRunner 接口来打印一下结果。 1.1 获取所有的 Bean im…

手机APP智能硬件开发,蓝牙设备如何测试?

一、APP扫描设备 1、手机端蓝牙不同设置下是否能正常扫描&#xff1a;蓝牙打开、蓝牙关闭&#xff1b; 2、蓝牙设备被扫描到并出现在可连接设备列表的条件&#xff1a; 蓝牙设备名称与可连接的设备列表中的名称匹配、设备处于广播状态&#xff1b; 蓝牙设备与可连接的设备列…

【前端技巧】CSS常用知识碎片(九)

CSS常用知识碎片&#xff08;九&#xff09; mask-image属性 带有半透明的PNG图像的遮罩效果 .mask-image {mask: no-repeat center / contain;mask-image: url(bird.png); }SVG图形遮罩效果 .mask-image {mask-image: url("data:image/svgxml,%3Csvg viewBox0 0 3232…