做网站的实训报告,网站制作工作室制作平台,三维动画设计制作公司,餐饮设计装饰公司一.图的定义和分类 
定义#xff1a;图是由一组顶点和一组能够将两个顶点连接的边组成的。 
特殊的图#xff1a; 1.自环#xff1a;即一条连接一个顶点和其自身的边; 2.平行边#xff1a;连接同一对顶点的两条边#xff1b; 
图的分类#xff1a; 按照连接两个顶点的边的…一.图的定义和分类 
定义图是由一组顶点和一组能够将两个顶点连接的边组成的。 
特殊的图 1.自环即一条连接一个顶点和其自身的边; 2.平行边连接同一对顶点的两条边 
图的分类 按照连接两个顶点的边的不同可以把图分为以下两种 无向图边仅仅连接两个顶点没有其他含义 有向图边不仅连接两个顶点并且具有方向; 
二.无向图 
1.图的相关术语 
相邻顶点 当两个顶点通过一条边相连时我们称这两个顶点是相邻的并且称这个边依赖于这两个顶点。度 某个顶点的度就是依附于该顶点的边的个数。子图 是一幅图的所有边的子集包含这些边依附的顶点组成的图。路径 是由边顺序连接的一系列的顶点组成。环 是一条至少含有一条边且终点和起点相同的路径。连通图 如果图中任一一个顶点都存在一条路径到达另外一个顶点那么这幅图就称之为联通图。连通子图 一个非联通图由若干连通的部分组成每一个连通的部分都可以成为该图的连通子图。 2.图的存储结构 
要表示一幅图只需要表示清楚一下两部分内容即可 1.图中所有的顶点 2.所有连接顶点的边 常见 图的存储结构有两种邻接矩阵和邻接表 【1】邻接矩阵 
1.使用一个V*V的二维数组int[V][V]  adj。 2.如果顶点v和顶点w相连我们只需要把adj[v][w]和adj[w][v]的值设置为1否则设置为0即可。 很明显邻接矩阵这种存储方式的空间复杂度是V^2的如果我们处理的问题规模比较大的话内存空间极有可能不够用。 
【2】邻接表 
1.使用一个大小为V的数组Queue[V]  adj把索引看做是顶点 2.每个索引处adj[v]存储了一个队列该队列中存储的是所有与该顶点相邻的其他顶点 很明显邻接表的空间并不是是线性级别的所以后面我们一直采用邻接表这种存储形式来表示图。 
三.图的实现 四.图的搜索 
1.深度优先搜索 
所谓的深度优先搜索指的是在搜索时如果遇到一个结点既有子结点又有兄弟结点那么先找子结点然后找 兄弟结点。 
2.广度优先搜索 
所谓的广度优先搜索指的是在搜索时如果遇到一个结点既有子结点又有兄弟结点那么先找兄弟结点然后 找子结点。