实 验 报 告
(2014 / 2015 学年 第 一 学期)
课程名称 实验名称
离散数学
图的随机生成及欧拉(回)路的确定 2014
实验时间 指导单位 指导教师
年 12 月 12 日
南京邮电大学
罗卫兰
学生姓名 沈一州 班级学号 B12040920 NIIT(软嵌)
学院(系) 计算机软件学院 专 业
实 验 报 告
实验名称 实验类型 图的随机生成及欧拉(回)路的确定 指导教师 验证型 实验学时 4 实验时间 罗卫兰 12.12 一、 实验目的和要求 内容: 编程随机生成n个结点的无向图并能进行(半)欧拉图的判定,若是则给出欧拉(回)路。 要求: 对给定n个结点,随机生成邻接矩阵以确定某无向简单图并进行欧拉图和半欧拉图的判定,若符合则给出至少一条欧拉回路或欧拉路。 二、 实验环境(实验设备) 硬件: CPU:3.0Ghz 内存:1.00GB 软件: 操作系统:Windows XP SP3 编程软件:Visual C++ 6.0
- 2 -
三、 实验原理及内容 总体思想: 这次题目要求是根据随机生成的图求欧拉(回)路,先要随机生成一个邻接矩阵,然后判定是否是欧拉回路只要根据奇数度结点的个数。再用一个递归函数找出欧拉路。 核心代码: 1、根据结点数生成邻接矩阵: for(i=0;i else cout<<\该图奇数度结点的个数为\,所以不具有欧拉路。\3、半欧拉图中找出奇数度结点标号: flag1=flag2=-1; //分别代表两个奇数度结点的标号 for(i=0;i 四、运行结果: 首先是输入结点数: 然后随机打印出邻接矩阵: 根据性质判断并求出欧拉图: 再试3次: - 5 -