转自:http://www.itmian4.com/forum.php?mod=viewthread&tid=125&extra=page%3D14%26filter%3Dtypeid%26typeid%3D115%26typeid%3D115
————————————————————————————————————————————————————————————————
本帖最后由 damon 于 2012-10-10 22:14 编辑 文章脉络图:
图由点集合和边集合组成,记做G=(V,E),其中点集合不能为空且应该有穷,边集合可以为空。在有关图的概念方面,大部分看名知意,只解释其中几个概念:
邻接矩阵:反映的是顶点间的相邻关系。一个n行n列的矩阵表示由n个顶点的图,如果(i,j)或者<i,j>属于边集合,则矩阵中第i行j列的值为1,否则为0。 例如的邻接矩阵为。 从邻接矩阵的定义可以推断,无向图的邻接矩阵是对称的;有向图的邻接矩阵是非对称的。对于无向图而言,邻接矩阵第i行的和为邻接顶点i的度;对于有向图,邻接矩阵第i行表示的和是顶点i的出度,第i列的和表示顶点i的入度。 邻接表:为图的每个顶点建立一个链表,第i个链表中的结点表示与顶点i相关的边。 例如的邻接表为。
图的遍历 深度优先: 广度优先: 1.首先访问出发顶点V 例如的深度优先遍历为:V1 V2 V5 V3 V6 V4;广度优先遍历为:V1 V2 V3 V4 V5 V6 。 最小生成树 包含图所有顶点的树,成为图的生成树,各边权值之和最小的树成为最小生成树。 普里姆算法: 1. 定义出发点为一个集合 克鲁斯卡尔算法: 1. 先确定各个点之间的距离 拓扑排序 用有向边表示各顶点活动开始的先后顺序,这些顶点组成的网络成为AOV网络。对一个有向无环图的顶点排成一个线性序列,使得有向边起点排在该有向边终点前的序列称之为拓扑序列。拓扑排序不一定唯一。 1. 找到入度为0的点,作为起点 例如的拓扑排序为:02143567或01243657或02143657或01243567。 关键路径 AOV网络中,如果边上的权表示完成该活动所需的时间,则称这样的AOV为AOE网络。其中关键路径是最长的一条路径。如下: 的关键路径为V1--V2--Vk或V1--V4--Vk。 数据结构暂时先总结到这里,还有很多等待修补的知识,接下来是编译原理的一些总结,欢迎指针……
|