当前位置: 首页 > news >正文

2023/4/16总结

图的存储

链式前向星

  1. 链式前向星和邻接表很相似,只是存储方式变成了数组。

  2. 链式前向星一般要用到一个结构体数组和一个一维数组,结构体数组edges中包括三个变量。结构体数组的大小一般由边的大小决定。

edges数组中的to代表的是某条边的终点v。w代表的是这条边的权值。next代表的是上一条和本条边同起点(u)的边的编号。

struct node
{int to;int w;int next;
}edges[m];

 怎样才能知道和本条边同起点的上一条边的编号呢?用一个head数组记录以每第i为起点的边的编号,实际上这里的第一条边存储的位置其实是在以i为起点的所有边的最后输入的那个编号。

3.添加边的输入:

for(i=1;i<=m;i++)
    {
        scanf("%d %d %d",&u,&v,&w);
        edges[i].to=v;
        edges[i].w=w;
        edges[i].next=head[u];
        head[u]=i;
    }

head初始化为0,i表示每条边的编号。每一次都要更新相应的head。

如果按照索引顺序,next表示下一条边的存储位置,如果按照添加顺序,next即为上一条添加的边的位置。

所以,输入顺序和存图的顺序(遍历顺序)是相反的。

4.插入的模拟过程:

 5.代码如下:

#include"stdio.h"
int n,m;
struct node
{
    int to;
    int w;
    int next;
}edges[100];
int head[100];
main()
{
    int i,j,u,v,w;
    scanf("%d %d",&n,&m);
    for(i=1;i<=m;i++)
    {
        scanf("%d %d %d",&u,&v,&w);
        edges[i].to=v;
        edges[i].w=w;
        edges[i].next=head[u];
        head[u]=i;
    }
    for(i=1;i<=n;i++)
    {
 
        for(j=head[i];j!=0;j=edges[j].next) 
        {
            printf("%d-%d=%d\n",i,edges[j].to,edges[j].w);
        }
    }
}

 

相关文章:

2023/4/16总结

图的存储 链式前向星 链式前向星和邻接表很相似&#xff0c;只是存储方式变成了数组。 链式前向星一般要用到一个结构体数组和一个一维数组,结构体数组edges中包括三个变量。结构体数组的大小一般由边的大小决定。 edges数组中的to代表的是某条边的终点v。w代表的是这条边的…...

【剑指offer】常用的数据增强的方法

系列文章目录 BN层详解 梯度消失和梯度爆炸 交叉熵损失函数 反向传播 1*1卷积的作用 文章目录 系列文章目录常用的数据增强的方法示例代码 常用的数据增强的方法 数据增强是指通过对原始数据进行一系列变换来生成更多的训练数据&#xff0c;从而提高模型的泛化能力。常用的数…...

/lib/lsb/init-functions文件解析

零、背景 在玩AppArmor的时候涉及到了/etc/init.d/apparmor&#xff08;无论是sudo /etc/init.d/apparmor start还是sudo systemctl start apparmor.service&#xff09;&#xff0c;而这个文件又涉及到了另一个文件、也就是本文的主角&#xff1a;/lib/lsb/init-functions。 …...

【ChatGPT】ChatGPT-5 强到什么地步?

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 ChatGPT-5 强到什么地步&#xff1f; 技术 深度学习模型的升级 更好的预测能力 自适应学习能力 特点 语言理解能力更强 自我修正和优化 更广泛的应用领域 应用 对话系统 智能写作…...

[ARM+Linux] 基于全志h616外设开发笔记

修改用户密码 配置网络 nmcli dev wifi 命令扫描周围WIFI热点 nmcli dev wifi connect xxx password xxx 命令连接WiFi 查看ip地址的指令&#xff1a; ifconfig ip addr show wlan0 SSH登录 这是企业开发调试必用方式&#xff0c;比串口来说不用接线&#xff0c;前提是接入网络…...

如何实现24小时客户服务

许多企业都有着这样的愿望&#xff1a;在不增加客服人员的同时能实现24小时客户服务。 那么有没有什么方法可以实现这一想法呢&#xff1f;在想解决方案之前我们可以先来谈谈客服的作用。 客服的作用主要为以下2点&#xff1a; 帮助用户更快地了解产品&#xff08;减轻产品的…...

查询数据库空间(mysql和oracle)

Mysql版 1、查看所有数据库容量大小 -- 查看所有数据库容量大小 SELECTtable_schema AS 数据库,sum( table_rows ) AS 记录数,sum(TRUNCATE ( data_length / 1024 / 1024, 2 )) AS 数据容量(MB),sum(TRUNCATE ( index_length / 1024 / 1024, 2 )) AS 索引容量(MB) FROMinfor…...

为什么 SQLite 一定要用 C 语言来开发?

SQLite 是一种专门为在 Unix 和类 Unix 操作系统上运行的 Linux 服务器应用程序而设计的数据库管理系统&#xff0c;是一种轻量级的关系型数据库管理系统&#xff0c;它适用于许多嵌入式设备和物联网设备。它使用 C 语言编写&#xff0c;并且是一个开源项目。 简单易用&#x…...

TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11

原文&#xff1a;Mobile Deep Learning with TensorFlow Lite, ML Kit and Flutter 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的…...

你的GPT跟ChatGPT可能只差了一个DPU

“人类永远不会嫌网络太快&#xff0c;就像永远不会嫌高铁太快&#xff0c;你只会嫌它慢&#xff0c;希望它更快些。” 一个月内&#xff0c;百度、阿里、腾讯、商汤、讯飞、360等国内大厂扎堆发布“中国版 GPT ”&#xff0c;这家的名字还没记清楚&#xff0c;另一家的又蹦了出…...

springboot服务端接口外网远程调试,并实现HTTP服务监听 - 内网穿透

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…...

NumPy的应用-1

准备工作 在Python中使用NumPy时&#xff0c;需要先安装NumPy。可以使用以下命令来安装NumPy&#xff1a; pip install numpy安装完成后&#xff0c;在Python中引入NumPy&#xff1a; import numpy as np安装完成并引入NumPy后&#xff0c;我们可以开始使用NumPy进行数据分析…...

k8s的yaml文件中kind类型详解

在Kubernetes&#xff08;k8s&#xff09;的YAML语法中&#xff0c;kind是一种重要的关键字&#xff0c;它用于指定Kubernetes资源的类型。根据Kubernetes官方文档&#xff0c;以下是kind可能的取值&#xff1a; Deployment&#xff1a;用于定义应用程序的声明式更新。Statefu…...

第三天:C语言控制结构

目录 1. 条件语句 2. 循环语句 3. 实例&#xff1a;计算阶乘 在前两天的学习中&#xff0c;您已经掌握了C语言的基本知识。今天&#xff0c;我们将学习C语言的控制结构&#xff0c;包括条件语句和循环语句。通过控制结构&#xff0c;您可以实现程序的分支和循环&#xff0c;…...

访问若依vue版后端api接口

访问若依vue版后端api接口 如何使用Talend API Tester进行访问若依vue-前后端分离版的后端api接口&#xff1f; 方法一&#xff1a; 写好一个后台api接口&#xff0c;启动项目 直接使用Talend API Tester进行访问后台api出现如下错误&#xff0c;原因是因为若依系统有jwt认证…...

另一种迁移xxl-job任务的方法,适合不满足数据迁移条件

以为多个项目组同时使用一个xxl-job&#xff0c;同时涉及到版本提升&#xff0c;由此不太满足数据库数据迁移&#xff0c;所以这里提供另一种解决办法 使用工具&#xff1a;postman,json转excel&#xff0c;excel 核心&#xff1a;excel拼接&#xff1a; 1.使用f12抓取xxl任务访…...

Redis缓存穿透、击穿、雪崩面试题详解

缓存穿透 问题&#xff1a; 指的是客户端请求的数据在缓存中找不到&#xff0c;数据库中也没有存储&#xff0c;客户端还不断的发起请求。这样每次都无法在数据库查询到&#xff0c;缓存中永远没有这个数据。 ​ 这样的话&#xff0c;客户端一直去访问&#xff0c;会给后端数据…...

【网络安全】本地提权漏洞分析

0. 前言 CVE-2023-21752 是 2023 年开年微软第一个有 exploit 的漏洞&#xff0c;原本以为有利用代码会很好分析&#xff0c;但是结果花费了很长时间&#xff0c;难点主要了两个&#xff1a;漏洞点定位和漏洞利用代码分析&#xff0c;欢迎指正。 1. 漏洞简介 根据官方信息&a…...

电脑端(PC)按键精灵——3.其他命令

电脑端(PC)按键精灵——3.其他命令 前两节说了安装、键盘和鼠标命令&#xff0c;这一章说下其他命令 按键精灵小白入门详细教程&#xff1a; 电脑端(PC)按键精灵—小白入门 详细教程 命令介绍 1. Delay 延时 简介 //1秒&#xff1d;1000毫秒, 1分钟&#xff1d;60000毫秒,…...

Hudi集成Flink-写入方式

文章目录 一、CDC 入湖1.1、[开启binlog](https://blog.csdn.net/wuxintdrh/article/details/130142601)1.2、创建测试表1.2.1、创建mysql表1.2.2、将 binlog 日志 写入 kafka1、使用 mysql-cdc 监听 binlog2、kafka 作为 sink表3、写入sink 表 1.2.3、将 kakfa 数据写入hudi1、…...

免费开源AMD Ryzen处理器调试工具:SMUDebugTool终极指南

免费开源AMD Ryzen处理器调试工具&#xff1a;SMUDebugTool终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://…...

终极指南:FigmaCN中文插件让设计师告别英文障碍

终极指南&#xff1a;FigmaCN中文插件让设计师告别英文障碍 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的全英文界面而烦恼吗&#xff1f;Figma中文插件FigmaCN正是为你…...

TalkingHeads开源项目:基于扩散模型的AI人脸说话视频生成技术详解

1. 项目概述&#xff1a;当AI学会“眉目传情” 最近在折腾一个挺有意思的开源项目&#xff0c;叫TalkingHeads。简单来说&#xff0c;它能让一张静态的人脸照片“活”过来&#xff0c;不仅能根据你输入的音频或文本生成口型同步的说话视频&#xff0c;还能让视频里的人做出各种…...

Visara:可视化代码仓库分析工具的设计原理与工程实践

1. 项目概述&#xff1a;一个面向开发者的视觉化代码仓库分析工具最近在和一些团队做代码评审和架构梳理时&#xff0c;我常常遇到一个痛点&#xff1a;面对一个陌生的、动辄几十上百个文件的代码仓库&#xff0c;如何快速理解它的整体结构、模块依赖和关键文件&#xff1f;传统…...

Hanime1Plugin终极指南:打造纯净Android动漫观影体验的免费神器

Hanime1Plugin终极指南&#xff1a;打造纯净Android动漫观影体验的免费神器 【免费下载链接】Hanime1Plugin Android插件(https://hanime1.me) (NSFW) 项目地址: https://gitcode.com/gh_mirrors/ha/Hanime1Plugin 你是否厌倦了在Android设备上看动漫时被各种广告打断&a…...

告别混乱:一文读懂GB/T 18655与GB/T 38661如何共同定义BMS的EMC测试要求

电动汽车BMS电磁兼容测试&#xff1a;双国标协同应用全景指南 当工程师第一次面对GB/T 18655和GB/T 38661两份标准时&#xff0c;往往会陷入困惑——为什么需要两份标准来规范同一个电池管理系统的EMC测试&#xff1f;这个问题背后&#xff0c;隐藏着中国电动汽车标准体系演进的…...

终极无人机仿真平台XTDrone:从入门到精通的完整指南

终极无人机仿真平台XTDrone&#xff1a;从入门到精通的完整指南 【免费下载链接】XTDrone UAV Simulation Platform based on PX4, ROS and Gazebo 项目地址: https://gitcode.com/gh_mirrors/xt/XTDrone XTDrone是一款基于PX4飞控、ROS机器人操作系统和Gazebo物理引擎的…...

Pikachu(皮卡丘靶场)实战XSS:从标签事件到高级Payload的攻防演练

1. 初识XSS与Pikachu靶场环境搭建 跨站脚本攻击&#xff08;XSS&#xff09;就像在别人的网页里偷偷塞小纸条&#xff0c;当其他用户打开这个网页时&#xff0c;小纸条上的内容就会被浏览器执行。想象一下&#xff0c;你在图书馆的公共留言板上贴了一张看似普通的便利贴&#x…...

终极免费音频智能分割工具:快速解放你的音频处理工作流

终极免费音频智能分割工具&#xff1a;快速解放你的音频处理工作流 【免费下载链接】audio-slicer A simple GUI application that slices audio with silence detection 项目地址: https://gitcode.com/gh_mirrors/aud/audio-slicer 还在为处理长音频文件而烦恼吗&…...

开源智能激活方案:KMS_VL_ALL_AIO如何彻底解决Windows和Office激活难题

开源智能激活方案&#xff1a;KMS_VL_ALL_AIO如何彻底解决Windows和Office激活难题 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否曾为Windows系统或Office办公软件未激活而烦恼&#xf…...