• DS博客作业06--图


    DS博客作业06--图

    1.本周学习总结

    1.思维导图

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

        通过学习图的一些基本操作,学习了图的两种存储结构:邻接矩阵和邻接表,图的两种遍历方法:深度优先遍历(DFS)和广度优先遍历(BFS)。
    深度优先遍历是一个对每个结点查找其邻接点的过程,而广度优先遍历则是搜索了该结点相连的所有结点。通过学习Prim算法
    和Kruskal算法,解决了最小生成树问题。还学习了拓扑排序,对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,
    若边(u,v)∈E(G),则u在线性序列中出现在v之前。这样的线性序列称为满足拓扑次序。
    

    2.1.题目1:7-1 图着色问题

        图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?
    但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。
    

    2.1.1设计思路

        int g[501][501]={0};
    int color[501] = { 0 }; 
    int search(int v)
    {
        遍历邻接矩阵
        如果两点(i,j)已连接,且颜色相同color[i]==color[j],返回false
        否则返回true
    }
    int main
    {
            g[501][501]邻接矩阵输入连接图
            color[501]输入并保存颜色
            col集合判断颜色数量
            如果颜色数量正确和search函数返回true,则输出yes
            否则输入no
    }
    

    2.1.2代码截图

    2.1.3本题PTA提交列表说明。

        set col创建了一个col集合,是一种包含已排序对象的关联容器,col.insert(color[j])中把元素color[j]存放进col集合中,
    有重复部分不会再被存储,memset(color, 0, sizeof(color)),将color所指向的某一块内存中的后个sizeof(color)字节的内容
    全部设置为ch指定的ASCII值,它是对较大的结构体或数组进行清零操作的一种最快方法.
        这个写法是借鉴别人的的代码
    

    2.2.题目2:7-4 公路村村通

    2.2.1设计思路

        void CreateMGraph(int v,int n )
    {
        邻接矩阵赋初值
        如果为对角线上的元素,g[i][j]=0
        否则g[i][j]=INF=32767
        输入连接图
    }
    int Prim(int v,int n)
    {
        prim算法,其中如果当min=INF时输出-1,安全退出函数
                                否则令 count=count+min
        函数最后返回count;
    }
    int g[1005][1005];
    int main()
    {
            创建邻接矩阵
            m=Prim(1,v)从顶点1开始执行prim算法
            输出m
    }
    

    2.2.2代码截图



    2.2.3本题PTA提交列表说明

        ![](https://img2018.cnblogs.com/blog/1474675/201906/1474675-20190609180242224-140467305.png)
    这个不能取等,还有输出-1的时候要结束
    
    

    2.3.题目3:六度空间

        “六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。
    然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以及因特网上即时通信等工具,
    能够体现社交网络关系的一手数据已经逐渐使得“六度空间”理论的验证成为可能。
    假如给你一个社交网络图,请你对每个节点计算符合“六度空间”理论的结点占结点总数的百分比。
    

    2.3.2代码截图


    2.3.3本题PTA提交列表说明

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

    上机时只打出了两题,回来把公路村村通打了
    


  • 相关阅读:
    Centos 7 快速安装 Docker
    MySQL乱码
    阿里云中linux 下svn服务器安装
    java中易错点(二)
    java中易错点(一)
    mysql5.7.24 解压版安装步骤以及遇到的问题
    linux交换分区调整
    linux之切换用户su(switch user)
    linux简单常用命令
    Yum简单使用小结
  • 原文地址:https://www.cnblogs.com/B-hai/p/10960568.html
Copyright © 2020-2023  润新知