1、第一页实验项目二元关系及其性质实 验 报 告 内 容【实验目的】掌握二元关系在计算机上的表示方法,并掌握如何判定关系的性质。【实验内容】 编程判断一个二元关系是否为等价关系,如果是,求其商集。等价关系:集合 A 上的二元关系 R 同时具有自反性、对称性和传递性,则称 R 是 A 上的等价关系。【实验原理和方法】(1)A 上的二元关系用一个 nn 关系矩阵 R= 表示,定义一个 nn 数组 rnn表nijr)(示 nn 矩阵关系。(2)若 R 对角线上的元素都是 1,则 R 具有自反性。int i,flag=1; for(i=0;iq 如果 flag=1, 则 R 是自反关系。(3)若 R 是对
2、称矩阵,则 R 具有对称性。对称矩阵的判断方法是:。rrjiij 有,int i,j,flag=1;for(i=0;iqi+) for(j=0;jq j+) if(aij 如果 flag=1, 则 R 是对称关系。(4)关系的传递性判断方法:对任意 i,j,k,若 。11ikjkij rr有且int i,j,k,flag=1;for(i=0;iqi+) for(j=0;jqj+)for(k=0;kqk+) if(aijint aN;for(i=0;iq;i+)ai=i+1;/*i 代表第 i 个元素*/printf(“矩阵 D 关于 R 的商集 D/R= “);for(i=0;iq;i+) i
3、f(ai) printf(“ “);for(j=0;jq;j+)if(rij/*打印和第 i 个元素有关系的所有元素*/aj=0; printf(“); printf(“ “);【测试运行结果】第三页实 验 报 告 内 容 【实验心得】这次实验报告,首先要对二元关系的理解够深刻,并且理解商集的具体概念。实验的主要代码老师也给我们了,需要我们自己去琢磨其中判断矩阵是否符合哪种关系的代码设计。还有这次实验设计成 N 矩阵的大小可以根据自己来设定,还有输入矩阵的次数可以不断输入并判断,这样就更好的提高了程序的灵活性,越来越让我感觉到离散数学与编程思想的紧密关系。教 师 评 定课 程 离散数学 项 目 集合运算 专 业 计算机科学与技术 班 级 1402 班 学 号 3141911210 姓 名 日 期 2015.10.27