首页 > 其他分享 >「Day 4—图的存储 & 图上搜索」

「Day 4—图的存储 & 图上搜索」

时间:2024-08-11 17:39:19浏览次数:14  
标签:存储 int back len 图上 MAXN tot include Day

图的基本操作

图的存储

1.邻接矩阵

//对于一个正常的边 (u,v,w)
vector<int> a[MAXN];
a[u].push_back(v);
a[v].push_back(u);

2.链式前向星

//对于一个正常的边 (u,v,w)
struct node{
	int to,next,len;
}e[MAXN];
int tot = 0,h[MAXN];
void add(int x,int y,int len){
	e[++ tot] = {y,h[x],len};
	h[x] = tot;
}

图的遍历

1.邻接矩阵

for(int i = 1;i <= n;i ++){
	for(auto x:a[i]){
		cout << x << " ";
	}
}

2.链式前向星

for(int i = h[x];i;i = e[i].next){
	int to = e[i].to;
	int v = e[i].len;
	cout << i << ' ' << to << " " << v;
}

习题

图的存储

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int n,m;
vector<int> a[500005];

int main(){
	int T;
	cin >> T;
	while(T --){
		cin >> n >> m;
		for(int i = 1;i <= n;i ++){
			a[i].clear();
		}
		for(int i = 1;i <= m;i ++){
			int u,v;
			cin >> u >> v;
			a[u].push_back(v);
		}
		for(int i = 1;i <= n;i ++){
//			if(a[i].size() == 0){
//				cout << "\n";
//				continue;
//			}
			sort(a[i].begin(),a[i].end());
			for(int j = 0;j < a[i].size();j ++){
				cout << a[i][j] <<" ";
			}
			cout << "\n";
		}
	}
		
	return 0;
}

标签:存储,int,back,len,图上,MAXN,tot,include,Day
From: https://www.cnblogs.com/To-Carpe-Diem/p/18353644

相关文章

  • bugbountyhunter scope BARKER:第八滴血 存储型 Storage Cross-Site Scripting XSS SVG
    登录后来到home页面,留言中存在一个Attachimage检查xsspayload:https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSSInjection#xss-in-files使用SVG进行图片上传,发现SVG文件上传成功并返回图片地址poc:https://cfceb12f2bfd-sec875.a.barker-social.com......
  • HDU-ACM 2024 Day2
    T1004a*bproblem(HDU7448)不会。T1005小塔的养成游戏之梦(HDU7449)不会。T1009强攻计策(HDU7453)容易发现初始速度是多少对答案没有影响,所以我们默认初始速度为\(0\)。题意相当于在平面直角坐标系上(横轴为时间,纵轴为速度),有一个目标高度,维护一条尽量接近目标的直线,但......
  • 0811day04
    使用格式化输出的三种方式实现以下输出(name换成自己的名字,既得修改身高体重,不要厚颜无耻)name='Nick'height=180weight=140#"Mynameis'Nick',myheightis180,myweightis140"name='Nick'height=180weight=140print(f"Mynameis{na......
  • 算法笔记|Day22回溯算法IV
    算法笔记|Day22回溯算法IV☆☆☆☆☆leetcode491.递增子序列题目分析代码☆☆☆☆☆leetcode46.全排列题目分析代码☆☆☆☆☆leetcode47.全排列II题目分析代码☆☆☆☆☆leetcode332.重新安排行程(待补充)题目分析代码☆☆☆☆☆leetcode51.N皇后(待补充)题目分析......
  • javase-day01
    aException_Exception01packagecom.se.aException;/***异常,Exception,父类Throwable。与其平级的是Error(Error错误,程序员无法处理,属于JVM级别的错误)*1.程序员可以处理异常。如果不处理,即JVM帮忙处理,简单粗暴,就是终止程序的运行*2.所以,程序员应该处理......
  • bugbountyhunter scope BARKER:第7滴血 存储型 XSS 编码测试和多处引用 报告
    注册后,来到UIDisplayName处直接点击更新之后,发现反射值的存在尝试一些编码,发现没有任何转换。编码测试更简单,语义一把梭:比如各种华丽花哨的编码到落地并没有被还原成<>'"等语义,此处没有漏洞https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSSInjectio......
  • 240704-物理存储结构
    1.物理存储结构​ Postgresql数据库目前不支持裸设备和块设备,在Postgresql数据库中表的数据时存放在一个或者多个物理的数据文件中。而相应的数据文件又分多个固定大小的数据块,数据就放在数据块中。1.Postgresql数据库中术语​ Postgresql数据库与其他数据库不同,对于如表,数据......
  • GeoServer+Postgis发布存储在Postgis中的栅格数据(二)--pgraster插件使用
    这一篇是前面一篇的续集,前一篇链接GeoServer+Postgis发布存储在Postgis中的栅格数据前期准备pgraster插件下载:还是提供一个maven地址,直接搜索pgraster即可,版本的话因为插件是gs-开头选择和GeoServer版本一致即可,前一篇使用的GeoServer版本为2.19.6,所以这里也选择2.19.6即......
  • Day25 第七章 回溯算法part04 回溯终章
    目录任务491.递增子序列思路46.全排列思路47.全排列II思路心得体会任务491.递增子序列给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序......
  • 动手做科研-day01-AI的最新进展与科研应用
    01.Python程序运行工具以及环境搭建选择使用kaggle官方的notebook作为环境搭建的平台,因为之前使用过kaggle进行注册,因此直接简单登录,按照下图依次进行操作note:需要挂来登录1.点击create2.创建notebook记事本3.尝试写一个简单的helloworld先新建codeprint("hell......