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

图的简单介绍

定义及术语

G(V,E):图G的顶点集为V,边集为E。分为有向图和无向图两类。
顶点的度:与该结点相连的边的条数。
出度:顶点的出边条数
入度:顶点的入边条数
顶点的权值称为点权,边的权值称为边权。

存储

1.邻接矩阵
用一个二维数组G[ i ][ j ]实现存储顶点 i 与顶点 j 之间的关系,可以是存储两顶点之间的边权,也可以仅表示两顶点之间是否有关系。
它其实是一个对称矩阵,相当于一个无向图。
但不适合顶点数目较多的题目。

2.邻接表
为每个顶点建立一个邻接表,用来存储与之有关的出边的信息,包括边的顶点与边的大小。
那么n个顶点就会有n个邻接表。对于每个邻接表可以用数组存储,也可以用链表存储。

此处示范用vector容器存储

//只存边的编号情况
vector<int> node;
node[i].push_back(index);//向编号为i的顶点加入一个编号为index的顶点
//存边的编号与大小的情况
struct node{int num;int value;
};
vector<node> v;
void insert(int x,int y){node n;n.num=x;n.value=y;v.push_back(n);
}
//存边的编号与大小的情况
struct node{//可实现定义的同时初始化int num;int value;node(int n,int v){//构造函数-初始化num=n;value=v;}
};
vector<node> v;
void insert(int x,int y){v.push_back(node(x,y));
}
http://www.lryc.cn/news/307647.html

相关文章:

  • 【C#小知识】c#中的delegate(委托)和event(事件)
  • 车规级存储芯片SPI NOR Flash
  • CSS轻松学:简单易懂的CSS基础指南
  • 06 Qt自绘组件:Switch动画开关组件
  • 大语言模型LLM分布式训练:大规模数据集上的并行技术全景探索(LLM系列03)
  • 98.验证二叉搜索树
  • 2月21日,每日信息差
  • android.text.BoringLayout.isBoring 的 NullPointerException
  • C++ 高频考点
  • Ubuntu安装SVN服务并结合内网穿透实现公网访问本地存储文件
  • 2月20日,每日信息差
  • Visual Studio清单作用
  • Java中的==和equals()方法的区别是?hashCode()和equals()的关系是什么?
  • yaml-cpp开源库使用
  • 【C++私房菜】序列式容器的迭代器失效问题
  • MySQL 篇-深入了解 DML、DQL 语言(二)
  • 端智能:面向手机计算环境的端云协同AI技术创新
  • PHP函数 “password_hash“ 哈希密码
  • 第十一天-Excel的操作
  • 【java任意文件漏洞修复,使用文件魔数解决】
  • LeetCode 热题 100 | 二叉树(二)
  • mini-spring|定义标记类型Aware接口,实现感知容器对象
  • 83. 删除排序链表中的重复元素
  • 贪心算法
  • MySQL基本知识
  • Vue3 (unplugin-auto-import自动导入的使用)
  • 【漏洞复现】大华智慧园区综合管理平台信息泄露漏洞
  • JavaScript的书写方式
  • 第二十篇-推荐-纯CPU(E5-2680)推理-llama.cpp-qwen1_5-72b-chat-q4_k_m.gguf
  • CSS常见选择器