zoukankan      html  css  js  c++  java
  • DS博客作业06--图

    1.本周学习总结

    1.思维导图

    2.谈谈你对图结构的认识及学习体会。

    其实在学习图之前我是有点担心学不好图的,因为之前学树的时候就已经花费了我很大的心力了,而图是一种比树更复杂的结构,但真正学起来的时候却发现图比树还要容易学一点,可能是图的各种操作递归用得比较少和存储结构更容易理解一点把。
    

    2.PTA实验作业

    2.1.题目1:7-3 六度空间

    2.1.1设计思路

    其实就是图的广度优先遍历

    定义队列q
    将起始节点入队并标记此节点已遍历过
    while(队列不空)
    {
    	p = G->adjlist[q.top()].firstarc;
    	q.pop();
    	n++;//记录遍历的节点数
    	while(p)
    	{
    		如果p未遍历则将其入队,并标记
    		p=p->nextarc; 
    	} 
    	if(当层的节点已遍历完)
    	{
    		h++;//遍历的层数+1
    		if(h>7)break;//遍历的层数超过7则结束遍历 
    	} 
    } 
    return s;
    

    2.1.2代码截图


    2.1.3本题PTA提交列表说明。

    2.2 题目2:修建道路

    2.2.1设计思路

    其实就是建最小生成树,用克鲁斯卡尔算法做会简单一点

    typedef struct
    {
    	int u;//边的起始顶点
    	int v;//边的终止顶点
    	int w;//边的权值
    }Edge;
    定义Edge数组E[MAXV],整型数组vest[MAXV] 
    把边存入E中,并按升序排序
    初始化数组vest
    输入已存在的边并修改vest数组,每输入一次n就+1 
    while(n<g.n) 
    {
    	若边的起点与终点不属于同一个集合
    	s+=E.w;
    	合并两点所属的集合 
    	n++ 
    } 
    返回s 
    

    2.2.2代码截图


    2.2.3本题PTA提交列表说明。


    (其实这道题用并查集的,但我懒得改了,虽然并查集的代码也就十行左右。。。)

    2.3 题目3:旅游规划

    2.3.1设计思路

    最短路径问题,可以用Dijkstra算法或Floyd算法解决,这里我用的是Floyd算法

    初始化A和path数组
    for(k=0;k<g.n;k++)
    	for(i=0;i<g.n;i++)
    		for(j=0;j<g.n;j++)
    		{
    			若从i到j的路径比从i到k再到j的路径短则修改A数组和path数组
    			若二者相同则记录两条路径中所花费的钱比较少的那条 
    		} 
    

    2.3.2代码截图


    2.3.3本题PTA提交列表说明。


    (其实这道题用Dijkstra算法来做更好,只不过Floyd算法代码比较少,所以我就用Floyd算法来做了。。。)

    3.上机考试错题及处理办法

    这次考试由于我对部分算法还不太熟练,解题所用的时间过长,导致最终没时间去解其余的题目

    3.1.截图错题代码

    考试时来不及做,交的代码是输出样例的,就不贴出来了。。。

    3.2 错的原因及处理方法

    6-1


    (别问为什么没有7-3。。。)

  • 相关阅读:
    ZOJ Problem Set–2417 Lowest Bit
    ZOJ Problem Set–1402 Magnificent Meatballs
    ZOJ Problem Set–1292 Integer Inquiry
    ZOJ Problem Set–1109 Language of FatMouse
    ZOJ Problem Set–1295 Reverse Text
    ZOJ Problem Set–1712 Skew Binary
    ZOJ Problem Set–1151 Word Reversal
    ZOJ Problem Set–1494 Climbing Worm
    ZOJ Problem Set–1251 Box of Bricks
    ZOJ Problem Set–1205 Martian Addition
  • 原文地址:https://www.cnblogs.com/xycm/p/10959687.html
Copyright © 2011-2022 走看看