图的存储一般有三种,分别是邻接矩阵、邻接表和类,以下是三种存储方式的基础模板及相关注释:
邻接矩阵
g[a][b] 存储边服务器托管网a->b的距离
邻接表
// 又叫做链式向前星存储(头插法) // 首先 idx 是用来对边进行编号的,然后对存图用到的几个数组作简单解释: // he 数组:存储是某个节点所对应的边的集合(链表)的头结点; // e 数组:用于访问某一条边指向的节点; // ne 数组:由于是以链表的形式进行存边,该数组就是用于找到下一条边; // w 数组:用于记录某条边的权重为多少。 int[] he = new int[N], e = new int[M], ne = new int[M], w = new int[M]; int idx = 0; // 为每一条边进行编号 // 初始化 memset(he, -1, sizeof he); // 添加一条a到b的边,权重为c void add(int a, int b, int c) { e[idx] = b; ne[idx] = he[a]; he[a] = idx; w[idx] = c; idx++; } // 遍历a的出边 for(int i 服务器托管网= he[a]; i != -1; i = ne[i]){ int j = e[i], v = w[i]; // j为a的出边, v为权重 }
类
class Edge { // 代表从 a 到 b 有一条权重为 c 的边 int a, b, c; }; vector g;
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
文章目录 Oracle中实现Md5/Base64/Aes+Base64/UrlEncode+UrlDecode等加解密编码的使用备忘 1. 实现Md5 2. 实现Base64加密/解密 3. 实现UrlEncode和UrlDecode 4. 实现Aes + B…