图的存储结构
来源:互联网 发布:win10安装ubuntu分区 编辑:程序博客网 时间:2024/05/21 17:27
1、邻接矩阵。使用二位数组存储。
2、邻接表。使用链表存储。每个顶点拥有自己的链表,链表存储该顶点 的邻接点。如果是有向图,链表节点个数表示该顶点的出度。
3、逆邻接表。使用链表存储。通常针对有向图,与邻接表相反,链表节点个数表示该顶点的入度。
4、十字链表,邻接表与逆邻接表的结合。适用于有向图/稀疏矩阵,方便求顶点的出度和入度。有点节点、边节点,结构体定义如下:
struct VNode{ int i; // 点索引 VNode *olink, *ilink; // 出度边,入度边指针}struct ENode{ int i, j; // 边的起点终点 ENode *right, *down; // 同一行,同一列指针 int weight; // 权重 int index; // 边索引号}
5、邻接多重表。适用于无向图,需要删除边的情况。可以用来求点的度。类比:十字链表是有向图的邻接多重表。邻接多重表不唯一。点节点、边节点结构体定义:
struct VNode{ int i; // 点索引 VNode *link; // 指向第一条边}struct ENode{ int i, j; // 点索引 ENode *ivex, *jvex; // i,j点分别邻接的其它边 int weight; // 权 int index; // 边索引}
6、边集数组。通常适用于边的条数小于点的个数时使用。使用两个数组,数组1存储点,int a[3] = {0, 1, 2}; 数组2存储边结构,结构体定义:
struct ENode{ int index; // 边索引 int start, end; // 起点终点 int weight;}
0 0
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 【图的存储结构】
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- 图的存储结构
- c语言冒泡排序算法
- 人生哲言
- bigdata——HBase+zookeeper+Hadoop集群构筑 之 Hbase集群构筑
- 【Morgan Stanley IT暑期实习生电面】
- 算法--判断字符数组中是否有相等的字符
- 图的存储结构
- 三十分钟掌握STL
- 安装pdi-ce-4.0.0-stable(kettle)
- android4.4以上,从相册中获取图片出错,图片无法裁剪的问题
- CSP考试 2015年03月第2题 数字排序 C语言实现
- 流量不等于价值
- android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler
- 任意输出15个数字
- javascript的正则表达式