想了很多,打算决定每天都在这个上面加一点自己当天学到的,还有自己思考的东西,一点一点加,或许会更有效率,也会记录我的思考过程吧。
5.12
今天做了PTA上的选择题
1、用一维数组G[]存储有4个顶点的无向图如下:
G[] = { 0, 1, 0, 1, 1, 0, 0, 0, 1, 0 }
推出:则顶点2和顶点0之间是有边的。
2、如果用邻接表存储结构,在对图进行广度优先遍历时一般要用到的一种数据结构类型是--队列
3、给定有权无向图的邻接矩阵如下,其最小生成树的总权重是:8
4、如果G是一个有15条边的非连通无向图,那么该图顶点个数最少7---n(n-1)*1/2 + 1
图的遍历:
深度优先
类似于树的先序遍历
直到刚访问的顶点没有未被访问的顶点为止。
算法实现(遍历连通图):
1 bool visited[MVNum]; //访问标志数组,其初值为“false” 2 void DFS(Graph G, int v) 3 {//从第v个顶点出发递归地深度优先遍历图G 4 cout<<v; visited[v] = ture; 5 for(w=FirstAdjVex(G,v);w>=0;w=NexAdjVex(G,v,x)) 6 //依次检查v的所有邻接点,First...表示v的第一个邻接点 7 //Nex...表示v相对于w的下一个邻接点,w>=0表示存在邻接点 8 if(!visited[w]) DFS(G,w); 9 10 }