yob。

博客作业06--图

1.学习总结(2分)

1.1图的思维导图

1.2 图结构学习体会

深度遍历算法:

是从图中的某个初始点v出发,首先访问初始点v,然后选择一个与定点v相邻且没有被访问过的定点w,再以w为初始顶点,重复深度优先遍历
递归调用总次数为n
用邻接表表示图时DFS算法时间复杂度为o(n+e)
用邻接矩阵表示图时DFS算法时间复杂度为o(n^2)

广度遍历算法:

广度优先遍历的过程是首先访问初始点v,然后访问v的所有违背访问过的邻接点v1v2v3v4……,然后再按照v1v2v3v4……的次序访问每一个顶点的所有未被访问过的邻接点,以此类推,直到图中所有的和初始点v有路径相通的顶点都被访问过为止
用邻接表表示图时BFS算法时间复杂度为o(n+e)
用邻接矩阵表示图时BFS算法时间复杂度为o(n^2)
以邻接表为存储结构,在用广度优先遍历图时需要咦类似于二叉树的层次遍历方式用环形队列遍历图

Prim算法:

采用邻接矩阵存储
取顶点设其它边为侯选边
从侯选边中挑选权值最小的加入生成树
重复上述步骤并按权值不断修改
时间复杂度o(n^2)

Kruscal算法:

按权值递增次序选择合适的边来构造最小生成树
将图中的边按权值从小到大的次序依次选取,若选取的边未使生成树形成回路则加入生成树,否则舍弃,直到生成树中包含(n-1)条边为止
适合稀疏图

Dijkstra算法:

时间复杂度o(n^2)

求出最短路径的顶点集合,用S表示

第二组为其余未确定最短路径的顶点集合,用U表示

源点v到S中各顶点的最短路径长度不大于从源点v到U中任何顶点的最短路长度

拓扑排序算法:

采用邻接表作为存储结构
可用于检测图中是否有回路
在一个有向图中找一个拓扑序列的过程称为拓扑排序:
1.从有向图中选择一个没有前驱的顶点并输出它
2.从图中删去该顶点,并且删去从该顶点出发的全部有向边
3.重复上述两步,直到剩余的图中不再存在没有前驱的顶点为止

2.PTA实验作业(4分)

题目1:图着色问题

设计思路(伪代码或流程图)

代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)


2.4 PTA提交列表说明。

题目2:排座位

设计思路(伪代码或流程图)

代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)

2.4 PTA提交列表说明。


题目3:六度空间

设计思路(伪代码或流程图)

代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)


2.4 PTA提交列表说明。

百分号输出错误,visit数组忘记初始化,后查询改正

3.截图本周题目集的PTA最后排名(3分)

3.1 PTA排名(截图带自己名字的排名)

3.2 我的总分:2分

4. 阅读代码(必做,1分)


六度空间问题代码

队不为空 取队首 v
 for i=1 to n 
if  边连通且顶点 i 为访问过
顶点 i 入队, vis[i]=1, 数值++
 if  v 为该层最后一个结点
将下一层的最后一个结点置为新的层末顶点, degree加一

更加简便

posted on 2018-06-17 21:47  emmmm。。。  阅读(251)  评论(0编辑  收藏  举报

导航