首页 > 代码库 > 4、非线性结构--图——数据结构【基础篇】
4、非线性结构--图——数据结构【基础篇】
非线性结构——图
图的几个类别:
有向图 ——有向图采用<>表示
无向图——无向图采用()表示
完全图无向图——如果具有n个顶点,n(n-1)/2条边的图
完全图有向图——如果具有n个顶点,n(n-1)条弧的图
稀疏图——如果边数小于完全图的边数
稠密图——如果边数大于完全图的边数
图的几个基本概念:
度——在图中,一个顶点依附的边数或弧的数目,某个顶点的出度和入度之和称为该顶点的度
入度——在图中,一个顶点依附的弧头数目
出度——在图中,一个顶点依附的弧尾数目
图的存贮结构:
1、图的邻接矩阵:
从无向图的邻接矩阵得出的结论:
1)矩阵是对称的
2)第i行或第i列1的个数为顶点i的度
3)矩阵中1的个数的一半为图中边的数目
4)判断顶点i和顶点j之间是否有边相连
从有向图的邻接矩阵得出的结论:
1)矩阵不一定是对称的
2)第i行中1的个数为顶点i的出度
3)第j列中1的个数为顶点i的入度
4)矩阵中1的个数为图中弧的数目
5)判断顶点i和顶点j之间是否有弧相连
2、网的邻接矩阵:
1、顶点i和顶点j之间存在边,则采用两者之间的权值表示
2、顶点到自己采用0表示
3、顶点i和顶点j之间不存在边,则采用无穷大表示
3、图的邻接表:
两个结点:
表结点——
头结点——以顺序结构存储
从无向图的邻接表得出的结论:
1)第i个链表中结点数目为顶点i的度
2)所有链表中结点数目的一半为图中边数
3)占用的存储单元数目为n+2e
图的遍历
深度优先搜索
广度优先搜索
无向网连通的相关问题:
生成树和最小生成树
树——无回路连通图
深度优先生成树
广度优先生成树
最小生成树的两个算法
普里姆算法
克鲁斯卡尔算法
有向网连通的相关问题:
最短路径:
迪杰斯特拉算法
拓扑排序:
4、非线性结构--图——数据结构【基础篇】