图论(一)

您所在的位置:网站首页 边听边存占内存吗 图论(一)

图论(一)

2024-07-10 02:15| 来源: 网络整理| 查看: 265

对于图论而言,一共有三种存边的方式:邻接矩阵、邻接表、链式向前星

邻接矩阵

邻接矩阵即用二维数组储存

int graph[Len][Len]; graph[i][j] //这个表示的即是表示从节点i到节点j的边权值 /* 用一个二维数组存边, 可以将数组的所有元素的值都初始化为某一个数k (要保证后面输入边权值时不会出现k), 表示此时从i节点到j节点的边不存在 */

优点:适合稠密图,编码简单,对于边的储存、查询、更新等操作 缺点:存储的空间复杂度太高,大量的空间会被浪费

邻接表 //定义边 struct edge{ int from,to,w; //起点:from 终点:to 权值:w //u1s1 这个from可以不要 edge(int a,int b,int c){ from=a; to=b; w=c; } //对边赋值 }; vectore[Num]; //e[i]:第i个节点连接的所有的边 //初始化 void init(){ for(int i=1;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3