首页 > 其他分享 >【学习笔记】链式前向星

【学习笔记】链式前向星

时间:2024-01-26 15:34:30浏览次数:27  
标签:idx int 笔记 vis 链式 include 前向星

链式前向星,是一种邻接表存图的方式。本质上是用数组模拟一个链表。
适合存各种类型的图,但是查询两节点间的边是否存在很不方便,对出边进行排序也很麻烦。

#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
const int N=1e5+5;
typedef struct Edge{
	int to,next,val;
} edge;
int h[N],n,m,idx=0;
edge g[N];
bool vis[N];
void add(int u,int v,int w){
	idx++;
	g[idx].next=h[u];
	g[idx].to=v;
	g[idx].val=w;
	h[u]=idx;
}
int main(){
    ios::sync_with_stdio(false);
    memset(h,-1,sizeof(h));
    memset(vis,false,sizeof(vis));
    cin>>n>>m;
    for(int i=1;i<=m;i++){
		int u,v,w;
		cin>>u>>v>>w;
		add(u,v,w);
	}
    return 0;
}

标签:idx,int,笔记,vis,链式,include,前向星
From: https://www.cnblogs.com/Death-Basic/p/17989527/lian-shi-qian-xiang-xing

相关文章

  • 数学建模入门笔记(2) 聚类分析
    聚类分析​ 聚类分析(ClusterAnalysis):又称群分析,对多个样本/指标定量分类的多元分析方法,是无监督学习1聚类分析的分类​Q型聚类(QualitativeClustering):也称硬聚类,一般用于将样本聚类,每一簇之间无交集,用距离作为相似性度量,包括K-Means聚类、层次聚类、DBSCAN聚类等​ R......
  • exgcd+乘法逆元相关笔记
    #include<iostream>#include<cstdio>usingnamespacestd;constintpass=0;//exgcd://求解二元一次不定方程//ax+by=(a,b)=(b,a%b)=bx'+(a%b)*y'=bx'+(a-b*(a/b))*y'=b*(x'-(a/b)*y')+ay'//则有y=(x'-(a/b)*y'),x=y'......
  • 『学习笔记』重谈圆锥曲线
    定义第一定义:圆锥曲线,又称二次曲线,是由一平面截二次锥面得到的曲线。包括椭圆、抛物线和双曲线。二次曲线标准解析式为\(ax^2+bxy+cy^2+dx+ey+f=0\),在不同情况下会退化。第二定义:到定点(焦点)与到定直线(准线)的距离之比为常数\(e\)的点的轨迹。分类几何分类当平面与二次锥......
  • [SQLAlchemy] sqlAlchemy学习笔记(3): 在orm中使用join
    JOIN连接表➡️官方文档⬅️在sqlalchemy中实现JOIN/ON语句,需要用到Select.join()或者Select.join_from()假设我们有两张表(在python中就变成了两个类)User和Address,User表中有一列addresses,表示该用户使用的所有地址的集合(反映到代码中,就是Address对象的集合);同时Ad......
  • 圆方树学习笔记
    圆方树学习笔记圆方树是优秀的图论算法,从仙人掌图向无向图扩展,利用割点和点双联通分量的性质,实现了图向树的转换。对仙人掌的处理:圆方树——处理仙人掌的利器而且实现十分简单算法思路前置知识割点和桥,点双联通分量。思路对于一个无向图,圆方树理解可以如下:原图中点是圆......
  • 人工智能(第3版) 第二章—学习笔记
    人工智能(第3版)第二章—学习笔记2.0简介:智能系统中的搜索这一部分内容简单的列举了我们生活中出现的一些常见的搜索问题,并简单介绍了本章之后需要学习的状态分析图,生成——测试搜索范式,盲目搜索算法,贪心算法和回溯法等内容。2.1状态空间图状态空间图(state-spacegraph)是对......
  • WebAssembly入门笔记[2]:利用Memory传递数据
    利用灵活的“导入”和“导出”机制,WebAssembly与承载的JavaScript应用之间可以很便利地“互通有无”。《与JavaScript的交互》着重演示了如何利用函数的导入和导出实现功能的共享,接下来我们主要关注数据的传递或者共享。宗地来说,WebAssembly与宿主程序之间的数据传递主要有如下三......
  • Programming Abstractions in C阅读笔记:p254-p257
    《ProgrammingAbstractionsinC》学习第70天,p254-p257总结,总计4页。一、技术总结1.minimaxstrategy(极小化极大算法)p255,Thisidea--findingthepositionthatleavesyouropponentwiththeworstpossiblebestmove--iscalledtheminimaxstrategybecausethegoa......
  • CS231N Assignment3 笔记(更新中)
    在这项作业中,将实现语言网络,并将其应用于COCO数据集上的图像标题。然后将训练生成对抗网络,生成与训练数据集相似的图像。最后,您将学习自我监督学习,自动学习无标签数据集的视觉表示。本作业的目标如下:1.理解并实现RNN和Transformer网络。将它们与CNN网络相结合,为图像添加标......
  • 【学习笔记】manacher
    众所周知,manacher又叫“马拉车”算法,是一种线性求解最长回文子串的算法。推荐结合模板阅读此文。求最长回文子串,首先想到的是暴力。枚举子串的左右端点\(l,r\),再判断这个子串是否回文。总复杂度\(O(n^3)\),效率过低。观察发现,我们可以只枚举中点,然后同时向左右不断扩展,当无......