离散数学上机题目3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

离散数学第三次上机题目

一、道路矩阵的Warshall算法

A)功能

给定n个结点的简单无向图G的邻接矩阵A,求G的道路矩阵P。

B)算法

(1)将图G的邻接矩阵送入P(n,n)中。

(2)1⇒i。

(3)1⇒j。

(4)对于k=1,2,…,n,作:P jk∨(P ji∧P ik)⇒P jk

(5)j+1⇒j,若j≤n,则转(4)。

(6)i+1⇒i,若i≤n,则转(3),否则结束。

二、判别连通性的算法

A)功能

给定n个结点的有向图的邻接矩阵,可判断该图是否为强连通的,单向连通的,或弱连通的。

B)基本思想

对于给定的邻接矩阵A,我们容易用本章算法6.1给出的道路矩阵的Warshall算法求出A所表示的图的道路矩阵P(或称可达矩阵)。对于道路矩阵P来说,如果P的所有元素均为1,则所给有向图是强连通的;对于P的所有元素P ij来说,均有:P ij+P ji>0,则所给有向图是单向连通的。

当所给有向图既不是强连通的,又不是单向连通的时候,我们改造邻接矩阵为:对于矩阵A中所有的元素a ij,若a ij=1或a ji=1,则1⇒a ij且1⇒a ji。对于这样改造之后所得到的新的矩阵A’(A’相当于原有向图忽略方向之后所得到的无向图的邻接矩阵),再用前面所述的方法进行判断,当P’的所有元素均为1时,原有向图是弱连通图;否则,原有向图是不连通的。

C)算法

(1)输入邻接矩阵A(n,n)。

(2)A(n,n)⇒P(n,n)。

(3)调用求道路矩阵子程序求出道路矩阵P。

(4)调用强连通或单向连通子程序。

(5)若为强连通或单向连通的,则输出其标志,转结束;否则转(6)。

(6)改造A阵为 A’,且A’ ⇒P(n,n)。

(7)调用求道路矩阵子程序。

(8)调用判断连通或单向连通子程序。

(9)若为强连通的,则输出原有向图是弱连通的;否则输出原有向图是非连通的。

(10)结束。

同学们编好程序,任选一个有向图(至少9个节点)练习,并将输出结果写入实验报告。

相关文档
最新文档