首页 > 其他分享 >三种建图方式

三种建图方式

时间:2025-01-11 15:54:21浏览次数:6  
标签:方式 weight int void 建图 maxn build 三种

int n=20;//点的个数 
int m=21;//边的个数
const int maxn=25;

//邻接矩阵建图
int gra1[maxn][maxn];
void build(int n,int m,int from[],int to[],int weight[])
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)gra1[i][j]=0;//邻接矩阵清空 
	}
	
	
	for(int i=0;i<m;i++)//无向带权图 
	{
		gra1[from[i]][to[i]]=weight[i]; 
	}
	
	
	for(int i=0;i<m;i++)//无向带权图 
	{
		gra1[from[i]][to[i]]=weight[i];
		gra1[to[i]][from[i]]=weight[i];
	}
}

//邻接表建图
vector<pair<int,int>>arraylist[maxn];
void build(int n,int m,int from[],int to[],int weight[])
{
	for(int i=0;i<n;i++)arrarylist[i].clear();//邻接表清空
	
	
	for(int i=0;i<m;i++)//有向带权图 
	{
		arrarylist[from[i]].emplace_back({to[i],weight[i]});	
	}
	
	
	for(int i=0;i<m;i++)//无向带权图
	{
		arrarylist[from[i]].emplace_back({to[i],weight[i]});	
		arrarylist[to[i]].emplace_back({from[i],weight[i]});	
	} 
}
//链式前向星建图 (以边为主体) 
int head[maxn];//index点号,val边号 
int next[maxn];//index边号,val下一条边号 
int tto[maxn];//index边号,val去往的点 
int weightt[maxn];//权重
 
void build(int n,int m,int from[],int to[],int weight[])
{
	//链式前向星清空 
	int cnt=1;//边号初始化为1 
	memset(head,0,sizeof(head));//每个点的头边号初始化为0
	
	
	for(int i=0;i<m;i++)//建立有向带权图 
	{
		next[cnt]=head[from[i]];
		tto[cnt]=to[i];
		weightt[cnt]=weight[i];
		head[from[i]]=cnt++;
	}
	
}

标签:方式,weight,int,void,建图,maxn,build,三种
From: https://www.cnblogs.com/benscode/p/18665783

相关文章

  • 线性代数11.三种初等矩阵及其性质
    11.三种初等矩阵及其性质11.1三种初等矩阵设存在列向量A:\[A=\begin{bmatrix}a_1\\a_2\\a_3\\a_4\\...\\a_i\\...\\a_j\\...\\a_n\end{bmatrix}\]则以下\(X_1,X_2,X_3\)三种矩阵分别与A相乘后,可对A进行三种初等变换:11.1.1矩阵\(X_1\):对应\(a_i\leftrightarrow......
  • Promise有哪些实现方式?
    Promise在前端开发中的实现方式主要涉及到其构造函数、状态管理、以及then方法的定义。以下是一个简化的归纳,具体实现可能会根据实际需求有所调整:构造函数:Promise的构造函数接受一个执行器函数(executor)作为参数,这个函数接受两个参数:resolve和reject,分别用于表示异步操作成功......
  • 树莓派-5-GPIO的应用实验之GPIO的编码方式和SDK介绍
    文章目录1GPIO编码方式1.1管脚信息1.2使用场合1.3I2C总线1.4SPI总线2RPI.GPIO2.1PWM脉冲宽度调制2.2静态函数2.2.1函数setmode()2.2.2函数setup()2.2.3函数output()2.2.4函数input()2.2.5捕捉引脚的电平改变2.2.5.1函数wait_for_e......
  • MySQL 8.0.27 集群搭建——基于MGR方式的一主两从架构
    数据库:MySQL8.0.27安装包:mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar系统:rhel7.364位 1、准备工作说明:1.1至1.3均需在三台服务器执行.1.1、修改hosts文件--在hosts中设置hostname与IP映射绑定关系.[root@MySQL-827MGR-Master~]#cat<<EOF>>/etc/hosts192.168.133.11......
  • 2025华为OD机试已正式切换E卷,E卷新题正在火热更新中,支持在线OJ练习题目,三种语言解答,每
    文章目录......
  • 如何用通俗易懂的方式解释大模型中的SFT,SFT过程需要大量标记的prompt和response吗?
    想象你在培训一个超级助理假设你新买了一个智能管家机器人,它已经看过海量的书籍和资料(这就是预训练过程)。但是呢,它还不太懂得"做人的艺术"——不知道该用什么语气说话、怎么回应你的需求。现在你要训练它成为一个得体的助理,这就是SFT要做的事情。SFT其实就是在教机器人"做......
  • 【MySQL8】压缩包方式卸载
    版本:v8.0.26今天mysql启动的时候报错,跟着网上的教程排查了几次,最后决定卸了重装,反正是学习环境备份数据(可选)如果是生产环境/开发环境,第一步是备份数据,我不备份你可以选择更简单的方式:复制data文件夹,但是版本兼容性很差,会出现各种毛病,导致数据无法展示也无法恢复,不推荐我......
  • python学opencv|读取图像(三十一)缩放图像的三种方法
    【1】引言前序学习进程中,我们至少掌握了两种方法,可以实现对图像实现缩放。第一种方法是调用cv2.resize()函数实现,相关学习链接为:python学opencv|读取图像(三)放大和缩小图像_pythonopencv读取图片缩放-CSDN博客第二种方法是在cv2.getRotationMatrix2D()函数旋转缩放图像时,......
  • 【STM32】MCU运行多段代码,Flash程序更新的实现方式之一
    【STM32】MCU运行多段代码,Flash程序更新的实现方式之一文章目录BootLeader跳转到BootLeader跳转到Flash其他位置MCU运行多段代码其他程序更新烧录方式附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时......
  • VMware授权方式
    1、更新与支持:VMware订阅包括产品更新、安全补丁以及技术支持。在订阅有效期内,可以享受最新版本的软件功能,获得技术支持。而永久授权不包含产品更新或长时间的技术支持。购买时所获取的版本是永远可用的。2、价格不同:VMware订阅是按年收费,而永久授权是一次性付费。订阅和永久授......