2017-2018-1 20162306 实验四 图及应用实验报告

2017-2018-1 20162306 实验四 图及应用实验报告

实验四-图的实现与应用-1

  • 实验要求:
    用邻接矩阵实现无向图(边和顶点都要保存),实现在包含添加和删除结点的方法,添加和删除边的方法,size(),isEmpty(),广度优先迭代器,深度优先迭代器

给出伪代码,产品代码,测试代码(不少于5条测试)

上方提交代码链接

附件提交测试截图

实验过程:

  • 1、借用ArrayList类中的add和remove方法实现结点的添加和删除。
  • 代码如下:

    //添加结点

    public void insertVertex(Object vertex) {
        vertexList.add(vertex);
    }

    //删除结点

    public void deleteVertex(Object vertex) {
        vertexList.remove(vertex);
    }
  • 2、添加和删除边的方法
  • 代码如下:

    //添加边

    public void insertEdge(int v1, int v2, int weight) {
        edges[v1][v2] = weight;
        numOfEdges++;
    }

    //删除边

    public void deleteEdge(int v1, int v2) {
        edges[v1][v2] = 0;
        numOfEdges--;
    }
  • 3、size方法

    public int size(){
        return vertexList.size();
    }
  • 4、isEmpty方法

    public boolean isEmpty(){
        if(vertexList == null && edges == null)
            return true;
        else
            return false;
    }
  • 实验截图

实验四-图的实现与应用-2

  • 实验要求:
    用十字链表实现无向图(边和顶点都要保存),实现在包含添加和删除结点的方法,添加和删除边的方法,size(),isEmpty(),广度优先迭代器,深度优先迭代器

给出伪代码,产品代码,测试代码(不少于5条测试)

上方提交代码链接

附件提交测试截图

  • 实验截图:

实验四-图的实现与应用-3

  • 实验要求:
    实现PP19.9

给出伪代码,产品代码,测试代码(不少于5条测试)

上方提交代码链接

附件提交测试截图

  • 实验过程:

  • 实验截图:

posted @ 2017-11-26 22:34  20162306陈是奇  阅读(508)  评论(0编辑  收藏  举报