化工行业网站模板,网站上怎么做动画广告视频,wordpress 分离,网站建设加盟招商文章目录 概要图的组成无向图有向图带权图 存储邻接矩阵邻接表 图的代码小结 概要 图是一种复杂的数据结构
图包括顶点#xff0c;边。图的分类有无向图#xff0c;有向图#xff0c;带权图。
按照存储有邻接矩阵#xff0c;邻接表。
图的组成
图有顶点和边组成。
图有… 文章目录 概要图的组成无向图有向图带权图 存储邻接矩阵邻接表 图的代码小结 概要 图是一种复杂的数据结构
图包括顶点边。图的分类有无向图有向图带权图。
按照存储有邻接矩阵邻接表。
图的组成
图有顶点和边组成。
图有顶点边。
无向图
对于无向图来说还有个概念叫做度。就是边的条数。有顶点有边就构成了一个图。
有向图
对于有向图来说度有方向分为入度和出度。顶点边入度出度构成了一个有向图。
带权图
对于带权图来说有个概念每条边有个权重。
存储
怎么来存储图这种数据结构呢这就有邻接矩阵和邻接表。
邻接矩阵
邻接矩阵是一种使用二维数组来表示图的方法其中的元素表示两个顶点之间是否有边。在加权图中矩阵中的元素可以表示边的权重。
邻接表
在这种表示方法中每个顶点都关联一个列表这个列表存储了所有与该顶点直接相连的其他顶点。在加权图中这个列表中的元素可以是顶点对或者包含顶点和权重的元组。
图的代码
public class Graph { // 无向图private int v; // 顶点的个数private LinkedListInteger adj[]; // 邻接表public Graph(int v) {this.v v;adj new LinkedList[v];for (int i0; iv; i) {adj[i] new LinkedList();}}public void addEdge(int s, int t) { // 无向图一条边存两次adj[s].add(t);adj[t].add(s);}
}小结 图这个数据结构
本篇主要记录了跟图有关的概念比如顶点边。无向图有向图带权图邻接矩阵邻接表。基本上就这么多吧。跟图相关的概念。接下来可以聊聊跟图相关的算法了。像深度优先广度优先当然还有些其他的应用最短路径生成最小树朋友圈好友等等。