博客作业06--图

1.学习总结(2分)

1.1图的思维导图

博客作业06--图_第1张图片

1.2 图结构学习体会

深度遍历算法:图的深度优先遍历类似于树的前序遍历。采用的搜索方法的特点是尽可能先对纵深方向进行搜索。
(1)访问顶点v;

(2)从v的未被访问的邻接点中选取一个顶点w,从w出发进行深度优先遍历;

(3)重复上述两步,直至图中所有和v有路径相通的顶点都被访问到。

广度遍历算法:图的广度优先遍历BFS算法和树的层次遍历算法类似,写算法时需要借助队列来实现。
Prim和Kruscal算法:两种算法都能构造最小生成树。

Dijkstra算法:计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。

2.PTA实验作业(4分)

本周要求挑选出3道题目书写设计思路、调试过程。设计思路使用伪代码描述。题目选做要求:

不能选6-1,6-2,6-3

2.1 题目1:7-3 六度空间(30 分)

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

创建队列q,t记录节点所在层数,number记录与i距离不超过6的节点个数
    i先进栈
    置visited[i]=1
    while队列不为空
        令temp=出队节点
        遍历temp所连接的节点
            当该节点没有遍历过
                 把该节点入队列
                         number++
         如果遍历到的节点在第六层,返回所得的number值

2.3 代码截图

请贴主要函数代码,一些操作函数代码不需要贴图。
博客作业06--图_第2张图片
博客作业06--图_第3张图片

2.4 PTA提交列表说明。

博客作业06--图_第4张图片

  • 把初始化visited[j]数组写在了创建邻接矩阵函数里,但是在调用BST(i)时,每次都要初始化该数据,应该要把它写在BST(i)函数里面。
  • 出现段错误,数据不够大。

2.1 题目2:7-4 公路村村通(30 分)

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

创建邻接矩阵
    for  i=1  to  i<=n
           dist[i]把G[1][i]干路的成本一一存放到dist[i]数组中
    令总成本num=0,count=0
    l令dist[S]=0
    count++
    while(1)
        i=findmin(n)
        if(没找到最小的)
            break
        num+= dist[i]
        令dist[i] = 0
        for  int j=1  to  j<=n
            if(G[i][j]干路连通)
                 if(dist[j]!=0且G[i][j]

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

博客作业06--图_第5张图片
博客作业06--图_第6张图片
博客作业06--图_第7张图片
博客作业06--图_第8张图片

2.4 PTA提交列表说明。

博客作业06--图_第9张图片

  • 出现段错误,数组不够大。

2.1 题目3:7-2 排座位(25 分)

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

   创建邻接矩阵
   while(k--)
         输入a,b
        if(a和b是朋友)
            输出"No problem"
        if(a和b不是朋友,也不敌对)
         输出"OK"
        if(a和b敌对)
         for i=1  to  i<=n
               if(不存在共同好友)          
                 输出"OK but..."
                      if(存在共同好友)            
                             输出"No way"
      end k

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

博客作业06--图_第10张图片
博客作业06--图_第11张图片
博客作业06--图_第12张图片

2.4 PTA提交列表说明。

博客作业06--图_第13张图片

  • 上图这个测试点没通过。

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

本次题目集总分:310分

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

博客作业06--图_第14张图片

3.2 我的总分:171(1.5分)

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

找一篇图结构应用代码
详细说明代码思想,学习地方。
博客作业06--图_第15张图片
博客作业06--图_第16张图片
博客作业06--图_第17张图片
Dijkstra算法:从起点开始,首先初始化到起点的距离为0,再初始化到其他顶点的路径为无穷大。
每次选择到达起点最近的那个顶点未被选择过的顶点,查看这个顶点作为起点的边,如果发现从这个顶点到边的另一个顶点的距离会更短,就更新它。

你可能感兴趣的:(博客作业06--图)