实验五 图
一、 实验目的
1.熟悉图的邻接矩阵和邻接表的存储结构
2.熟悉图的邻接矩阵和邻接表的建立算法
3.掌握图的遍历算法
二、 实验内容
1.编写一个算法建立无向图的邻接矩阵,并且从不同的顶点出发,按深度优先搜索遍历。(文件夹:无向图邻接矩阵)
//图的邻接矩阵类型定义.h
const int n=8;
const int e=10;
typedef char vextype;
typedef int adjtype;
typedef struct
{
vextype vexs[n];
adjtype arcs[n][n];
}graph;
//建立无向图邻接矩阵.h
using namespace std;
extern graph * g;
void creatgraph()
{
int i,j,k;
cout<<"请输入"<<n<<"个结点的值(请勿用空格间隔,例如:ABCDEFGH):"<<endl;
for(i=0;i<n;i++)
g->vexs[i]=getchar();
for(i=0;i<n;i++)
for(j=0;j<n;j++)
g->arcs[i][j]=0;
cout<<"请输入"<<e<<"条边(例如:0 1,数字之间用空白字符间隔):"<<endl;
for(k=0;k<e;k++)
{
cin>>i>>j;
g->arcs[i][j]=g->arcs[j][i]=1;
}
}
//深度优先搜索遍历.h
using namespace std;
extern graph * g;
extern int visited[n];
void dfsa( int v )
{
visited[v] = 1;
cout<<"Node:"<<g->vexs[v]<<endl;
for( int j = 0 ; j < n ; j++ )
{
if( g->arcs[v][j] == 1 && visited[j] != 1 )
dfsa(j);
}
}
//无向图邻接矩阵主程序文件.cpp
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include "图的邻接矩阵类型定义.h"
#include "建立无向图邻接矩阵.h"
#include "深度优先搜索遍历.h"
using namespace std;
graph*g=new graph;
int visited[n];
int main()
{
creatgraph();
int i;
while(1)
{
for(i=0;i<n;i++)
visited[i]=0;
cout<<"输入出发点序号(0-7),输入-1结束:";
cin>>i;
if(i==-1) break;
dfsa(i);
}
system("PAUSE");
return 0;
}
//////////
/*
输入格式:
ABCDEFGH
0 1
0 2
1 3
1 4
2 5
2 6
3 7
4 7
5 7
6 7
*/
分享到:
相关推荐
仓储作业流程软件模拟实验报告详细解析 仓储作业流程软件模拟实验是通过计算机模拟真实仓库环境,让学生深入理解和掌握仓库管理的各个步骤。本实验旨在帮助学生熟悉并掌握入库、在库、出库管理的关键环节,以及库存...
实验报告的格式需要按照“实验报告模板”进行编写,内容包括实验目的、实验步骤、实验结果、实验总结等,并且需要提交源代码和实验报告,不允许贴代码。 知识点6:编译原理课程的重要性 编译原理课程是计算机科学...
这个实验和作业的目标是使学生掌握这些核心概念,并通过实际编写代码来加深理解。通过解决这些问题,学生不仅能学习到理论知识,还能锻炼编程技能,为未来在游戏开发、图像分析、虚拟现实等领域的工作打下坚实基础。...
实验一主要关注通过型物流中心的构建,涉及了部件生成器、传送带、部件消灭器、作业员和笼车等设备的运用与操作。 实验一的核心目标是构建一个能够处理四种不同类型商品的物流模型。在这个模型中,商品从投放口进入...
虚拟现实技术实验指导书主要围绕VR(Virtual Reality,虚拟现实)领域的相关实验操作和流程进行指导。从提供的内容来看,本书包括了多种与虚拟现实开发相关的软件工具和技术要点,如3Dmax、Unity3D、FBX等,并且涉及...
3. 管理人员代理:实验室应指定关键管理人员的代理人,以确保在主要负责人无法履行职责时,实验室的正常运行不会中断(C选项)。 4. 检测报告内容:实验室出具的校准证书或检测报告应包含必要的信息,如唯一性标识...
《MFC版飞机大战程序设计实验报告》 本实验报告主要涵盖了使用Microsoft Foundation Classes (MFC)库在Visual Studio 2015中开发的一款名为“飞机大战”的游戏。MFC是一个C++类库,它提供了对Windows API的封装,...
- IPv4地址分为A、B、C、D、E五类,其中E类地址主要用于实验和研究,不分配给实际网络。 - ping命令常用于检测网络连通性。 - IPv6的地址长度是128位,提供了巨大的地址空间,而不仅仅是64位。 以上是计算机应用...
本课后作业主要涉及了化学实验的基本操作和安全知识。 1. 实验操作正确性的判断:题目中的选择题考察了学生对基本实验操作的理解。例如,正确处理化学试剂、使用实验器材的方法等。选项B可能涉及到正确佩戴实验眼镜...
该文档是关于JAVA程序设计课程的一份作业报告,主要任务是实现一个标准的计算器程序。这份报告由电信06XX班的王XX、郭XX和陈X共同完成,旨在通过编写计算器程序来加深对JAVA语言的理解,提升编程技能,并锻炼团队...
4. **防水工程** - 屋面防水铺贴方式需考虑地形和气候条件,题目中的情况适合垂直于屋脊铺贴,以利于雨水排放。 5. **建设单位职责** - 建设单位在工程竣工验收备案前,需提交符合规定的工程文件,包括准备阶段文件...
根据给定的实训作业描述,我们可以总结出一系列与NumPy和Pandas相关的知识点,并结合具体的实验要求进行详细解析。 ### 实训目标概述 实训的主要目的是让学生掌握Python中用于科学计算的两个重要库——NumPy和...
3. 吸盘能贴在光滑的墙面上是利用了大气压,吸盘内部形成真空,外部大气压将其紧紧压在墙面上,故A选项正确。 4. 山顶上的大气压确实比山脚下的大气压低,因为海拔越高,大气压越小,所以B选项是错误的。 5. 当一...
侦察兵贴地听声音是因为大地传声速度较快(第10题)。 8. 超声波应用:超声波被广泛用于导航(如蝙蝠)和医学成像(如B超)以及清洁精密零件(第8题)。 9. 物态变化与吸热/放热:冰雪消融是熔化过程,需要吸热;...
题目中提到的默认视图方式是D:4,即同时显示前视图、侧视图、顶视图和透视图。 5. 可编辑曲线顶点次物体操作:在3ds Max中,编辑曲线时,可以对顶点、边、线段和曲线进行操作。选项D:分段并不属于这些次物体操作...
(2)实验表明,如果光贴着纸板B沿FO射到O点,反射光会沿OE方向射出,证明了反射角等于入射角,光在反射时遵循反射定律。 这些知识点涵盖了八年级物理4.1单元关于光的反射的基本概念,包括光的直线传播、光在不同介质...
16. 年画贴正:要贴正年画,应调整年画的长边与重垂线平行,选项C正确。 17. 卡车过桥计算:卡车自重加上20箱货物的总重力为4.8×104 N + 20 * 400 kg * 10 N/kg = 88000 N。桥的承载能力为90000 N,所以卡车超重,...
图形学大作业实验报告 计62 毛晗扬 2016011275 结果图 工程介绍 工程信息 github地址: 详细教程地址: 编译命令 cmake -DCMAKE_CXX_COMPILER=/usr/local/bin/clang-omp++ -DCMAKE_C_COMPILER=/usr/local/bin/clang-...
3. 吸盘贴在光滑的墙面上是利用了大气压,吸盘内的空气被排出后,外部大气压将吸盘紧紧压在墙上(选项C)。 4. 山顶上的大气压比山脚下的大气压低,因为大气压随海拔升高而降低(选项B)。 5. 当一满罐“纯净水”...
10. 关于薄壁堰和宽顶堰的论述:薄壁堰的计算要求堰上水头大于2.5mm以防止贴薄溢流,选项B正确;宽顶堰的侧收缩系数计算公式与实用堰有所不同,选项A正确。 11. 稳定性与水流形态:对于有侧收缩、淹没溢流的矩形...