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条测试)
上方提交代码链接
附件提交测试截图
-
实验过程:
-
实验截图: