离散课后复习河北工业大学Word格式文档下载.docx
- 文档编号:13844773
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:14
- 大小:84.63KB
离散课后复习河北工业大学Word格式文档下载.docx
《离散课后复习河北工业大学Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《离散课后复习河北工业大学Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
定义5令P、Q是两个命题,由命题联结词把P和Q连接成PQ,称PQ为命题P和Q的双条件式复合命题,简称双条件命题,PQ读做“P当且仅当Q,或“P等
价Q'
称为双条件联结词。
当P和Q的真值相同时,PQ的真值为真;
否则,PQ的真值为假。
本实验要求从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值。
用C语言或MATLAB实现。
3.实验步骤:
在输入P、Q真值后,会依次输出合取、析取、条件、双条件的真值。
本实验源程序力求简洁易懂,所以在设计时应用简单的语句并省去了许多繁杂的选择,
如1与T、0与F的置换等。
但本实验在操作易于理解方面也有很大的体现。
4.源程序:
(1)方法一:
#include<
stdio.h>
voidmain(void){
printf("
输入P、Q的真值(1为T,0为F):
\n"
);
intP,Q;
scanf("
%d"
&
P);
//输入P、Q的值
Q);
//求真值printf("
合取:
%d\n"
P&
&
printf("
析取:
P||Q);
条件:
!
P||Q);
双条件:
Q+!
P&
!
}
(2)方法二:
iostream>
usingnamespacestd;
intmain(){
charP,Q;
inti;
(2)方法
实验二关系闭包计算
1实验目的
熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法。
定义6设R是A上的二元关系,R的自反(对称、传递)闭包是关系R1,则
1R1是自反的(对称的、传递的)
2RR1
3对任何自反的(对称的、传递的)关系R2,若RR2,则R1R2。
R的自反、对称和传递闭包分别记为r(R)、s(R)和t(R)。
定理1令RAA,贝U
1r(R)=RUIA
2s(R)=RUR-1
3t(R)=RUR2UR3...
Warshall算法:
设R是n个元素集合上的二元关系,M是R的关系矩阵;
(1)置新矩阵A:
=M
(2)置i:
=1;
(3)forj=1tondo
ifA[j,i]=1thendo
fork=1tondo
A[j,k]:
=A[j,k]+A[i,k]
(4)i=i+1;
(5)ifi<
=nthento(3)
elsestop
本实验要求从键盘输入一个关系的关系矩阵,计算其自反闭包、对称闭包和传递闭包,
计算传递闭包时使用Warshall算法。
用C语言或MATLAB实现。
3•实验步骤:
输入一个3*3维矩阵由r(R)=RUIA;
s(R)=RUR-1;
t(R)=RUR2UR3…列出的算
法计算自反、对称、传递闭包并输出。
且每步均有注释,使程序更清晰。
4•源程序:
/*熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法令RAXA,则
r(R)=RUIA
s(R)=RUR-1
t(R)=RUR2UR3…
*/
inti,j,k;
intI[3][3]={1,0,0,0,1,0,0,0,1};
inta[3][3],b[3][3],c[3][3];
请输入3x3的二维矩阵:
\n"
for(i=0;
i<
3;
i++)//输入矩阵
for(j=0;
j<
j++)
a[i][j]);
自反闭包:
i++){//自反闭包
j++){b[i][j]=a[i][j]||I[i][j];
%3d"
b[i][j]);
对称闭包:
for(i=0;
i++){//对称闭包
j++){c[i][j]=a[i][j]||a[j][i];
c[i][j]);
传递闭包:
i++){//传递闭包
if(a[j][i]==1)for(k=0;
k<
k++)
a[j][k]=a[j][k]||a[i][k];
i++){〃传递闭包的输出
printf("
a[i][j]);
\n”);
5•实验结果:
实验三计算两结点间长度为m的路的数目
熟悉邻接矩阵和两结点间长度为m的路的数目的关系并编程计算。
定义7给定简单图G=<
V,E>
V={v1,v2,…,vn},V中的结点按下标由小到大编
序,贝Vn阶方阵A=(aij)称为图G的邻接矩阵。
其中
1viadjvj
aij
0mnadjVjOriji,j=i,2,…,n。
定理2设A为简单图G的邻接矩阵,则Am中的i行j列元素am等于G中联结viji
到Vj的长度为m的链(或路)的数目。
本实验要求从键盘输入图的邻接矩阵和一正整数m,计算结点两两之间长度为m的路
的数目。
考虑有向图和无向图。
本实验在编写源程序时,对实验要求进行了两种方式的阐释:
一种是输入关系矩阵及其阶数,然后依次列出路长度为1~n的关系矩阵;
另一种是输入关系矩阵及其阶数,然后指定路长度的关系矩阵。
本实验源程序力求简洁易懂,所以在设计时应用简单的语句并省去了许多繁杂的选择,且每步均有注释,使程序更清晰。
4.程序:
iOstream>
//计算两结点间长度为m的路的数目usingnamespacestd;
intm,n,t;
inta[100][100],b[100][100];
intc[100][100];
ints;
cOut<
<
"
请输入关系矩阵阶数:
"
endl;
cin>
>
m;
n=m;
请输入关系矩阵:
fOr(i=0;
i++){
fOr(j=0;
a[i][j];
b[i][j]=a[i][j];
cout<
长度为1的路的矩阵:
i++){//输出长度为1的路for(j=0;
b[i][j]<
;
for(t=0;
t<
n-1;
t++){//求长度为2~n的路
长度为"
t+2<
的路的矩阵:
i++){for(j=0;
j++){s=0;
for(k=0;
s+=a[i][k]*b[k][j];
c[i][j]=s;
i++)
b[i][j]=c[i][j];
i++){//输出长度为2~n的路
j++)cout<
return0;
运行结果:
(2)方法二
〃计算两结点间长度为m的路的数目
usingnamespacestd;
intmain(){
请输入关系矩阵阶数:
endl;
cin»
请输入路的长度:
n;
请输入关系矩阵:
cin>
j++)b[i][j]=a[i][j];
n<
t++){//求长度为n的路
j++)b[i][j]=c[i][j];
i++){//输出长度为n的路
5.运行结果:
实验四最优树的构造
熟悉最优树的构造算法,掌握最优树的构造过程。
定义8在权分别为w”w?
,…,Wf的加权二叉树T中,若权是Wi的叶结点,其级
t
为L(wp,贝yW仃)WjL(Wi)称为加权二叉树T的权,并记为w(T)。
已知w〔,w?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 离散 课后 复习 河北 工业大学