无向图
邻接点、边
满足--条件的称为连通图
与任何点都有连线称为完全图
所有顶点仅有一次连接称为生成树 S=n-1
有向图
顶点(节点)、弧(弧尾 -出度、弧头-入度)--
图的应用
路径规划
工程规划
战略规划
图的存储结构
包括:邻接矩阵 、邻接表、 十字链表、 邻接多重表
邻接矩阵
有向图
无向图
邻接矩阵表达成语句
int matrix[4][4];
邻接表
顶点的表达:顶点索引+出弧链表头指针+顶点数据
弧的表示方法: 弧头顶点索引+下一个弧指针+弧数据(弧头 权值 弧尾 )
结构体表示
struct node
{
顶点索引;
该顶点弧链表的头结点;
顶点数据;
};
struct Arc
{
指向的顶点索引;
指向下一条弧是指针;
弧信息;
};
struct map
{
顶点数组;
};
十字链表的存储
结构体存储
邻接多重表的存储(无向图)
数据结构方式
图的遍历(深度优先搜索、广度优先搜索)
深度优先搜索(前序遍历)
广度优先搜索
最小生成树
普里姆算法
找出一个点,列出这个点的所有边,加入待选边集合,在待选边集合中找最小的权值边,然后再根据所选边的另一个顶点重复上述步骤
克鲁斯卡尔算法
待选边集合中按权值选择边
进入已选边集合
已选边集合中点构成已涉及点集合
没有连在一起的点不在一个点集合中
直到最后所有点构成连通图才结束