精华内容
下载资源
问答
  • 自反性对称传递性

    千次阅读 2020-12-11 23:19:52
    说明R1具有自反性.R2是反自反的。 R1即是对称的,又是反对称的。 R3={<1,1>,<1,2>,<2,1>} R4={<2,1>,<3,2>} 对称的逆就是反对称。(<x,y>与<y,x>为对称,如果一个...

    A={1,2,3}

    R1={<1,1>,<2,2>,<3,3>}

    R2={<1,3>}

    说明R1具有自反性.R2是反自反的。

    R1即是对称的,又是反对称的。

    R3={<1,1>,<1,2>,<2,1>}

    R4={<2,1>,<3,2>}

    对称的逆就是反对称。(<x,y>与<y,x>为对称,如果一个集合中只包括不同的<x,y>且没有<y,x>为反对称)

    R3是对称的。R4反对称。

    传递性与非传递性是互斥的。

    xRy ,yRz 存在关系<x,z>就是传递的。不存在就是非传递的。

    R4是传递的。

     

     

     

    展开全文
  • ua中对table的排序一般是用lua自带的table.sort()函数排序,一般采用自己写的排序的方式,以下来说一说 table.sort()排序和在工作中遇到的问题  1.排序的方式 table.sort(tbl,function(a,b) return a > b...

    ua中对table的排序一般是用lua自带的table.sort()函数排序,一般不采用自己写的排序的方式,以下来说一说

    table.sort()排序和在工作中遇到的问题 

    1.排序的方式

    table.sort(tbl,function(a,b)
            return a > b
    end)

    以上是一个简单的例子,得到的效果是对于待排序的数据的一个升序,你这样认为就是错了,例如a和b是一个样

    的,返回的是false,是一个不严格的升序,严格的说可以是一个非降序排列。 
    对于lua中的排序,最好是用lua自带的函数,不要自己造轮子,自己写一个排序的函数

    在排序的时候应该是严格弱序,用小于关系。

    正确的排序应该满足的条件,才能得到结果 
    1)反自反性

    cmp(a, a) === false

    就是在写的排序的实现中,自己和自己比较,要永远是false 
    2)非对称性

     cmp(a, b) == true ==> cmp(b, a) == false

    就是a和b比较得到的是true,那么b和a比较得到的就是false,否则就不成立 

    3)传递性

    cmp(a, b) == true && cmp(b, c) == true ==> cmp(a, c) == true

    不可比的传递性 

    就是说a和b之间成立,b和c之间成立,那么a和c之间也要成立,才能达到传递性

    如cmp(a,b) 
    a == b + 1 这个就是不成立的 
    如果存在这样的cmp(a, b) == true && cmp(b, c) == true,那么就假设a = 2,b = 1,c = 0 
    但是cmp(a, c)就不成立了,所以这个排序是不能成功的

    注:table.sort(list,function(a,b) 
    end)在这里面不需要去判断a,b是否存在,他们是一定存在的,它是list中的数据,所以一定是存在的。

    二:多个条件的比较 
    在一些需求当中,比较的数据不是一个,是组合的形式出现的,先是比较字段a,如果相等再比较字段b,那么在

    处理这样的实例当中,有以下的几种方式 
    1)

    function(a, b)    
      return a.level > b.level or 
      a.level == b.level and a.exp > b.exp
    end

    2)

    function(a, b)    
    if a.level == b.level then
        return a.exp > b.exp
    end
        return a.level > b.level
    end

    3)

    function(a, b)
        if a.level ~= b.level then
            return a.level > b.level
        end
        return a.exp > b.exp
    end

    这三种方法当中,第三种是最好的,因为它具有很大的延展性,如果以后比较的是三个或者是三个以上的字段,那么直接在后面添加就是,第二种的话,就是要倒序的去比较,讲比较的字段分成比较的先后顺序为1,2,3,4.那么按照第二种的话,就先去判断4是否相等,然后依次是3,2是否相等。不好理解

    三:排序与最值 
    对于不同的排序方式,算法得到的效果不同,那么就要考虑一下算法的复杂度。 
    任意table 线性查找最值 O(n) 
    排序 O(nlgn) 
    只需要最值且数组规模不小的时候不排序

    四:多次排序 
    由于在现实的例子中,可能对于要排序的条件不止一个,是两个或者是两个以上的时候,需要在一个函数中,一

    次性排完。 
    排序的稳定性: 
    快排不具备稳定性,所以不可以按照条件顺序多次排序 
    多次排序效率也不高




    展开全文
  • //分别将自反性对称性传递性的编号为Func1、Func2,Func3。 #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;fstream&gt; using namespace std; const int LEN = 140...
    暂时当草稿存放在这里,后面再补充
    
    
    //分别将自反性、对称性、传递性的编号为Func1、Func2,Func3。
    #include <iostream>
    #include <cstring>
    #include <fstream>
    using namespace std;
    
    const int LEN = 140 + 10;
    int arr[LEN][2+10];      //存储集合元素
    int relation[LEN][LEN];  //关系矩阵
    int nnn; //集合元素个数
    int num; //集合关系个数
    void Func1();
    void Func2();
    void Func3();
    
    int main()
    {
     //   freopen("datain.txt", "r", stdin);
        cout << "请输入集合中的元素个数 : " << endl;
        cin >> nnn;
        cout << "请输入集合中的关系个数 : " << endl;
        cin >> num;
        cout << "集合中一共有" << num << "对关系" << "," << num*2 <<"个元素(请以整数形式输入) : " << endl;
        memset(arr, 0, sizeof(arr));   //用数组做参数传递给标准函数memset(),以让其将数组设置成全0:
        memset(relation, 0, sizeof(relation)); //这里不懂得话可以参考https://blog.csdn.net/qq_37796444/article/details/80181632
        int num1, num2;
        for(int i = 1; i <= num; i++)
        {
            cin >> num1 >> num2;
            arr[i][1] = num1;
            arr[i][2] = num2;
            relation[num1][num2] = 1;
        }
    
        cout << "输出关系矩阵 : " << endl;
        for(int i = 1; i <= nnn; i++)
        {
            for(int j = 1; j <= nnn; j++)
            {
                cout << relation[i][j] << "     ";
            }
            cout << endl;
        }
        cout << endl;
    
        cout << "判断结论 : " << endl;
        //判断是否满足自反性
        Func1();
        //判断是否满足对称性
        Func2();
        //判断是否满足传递性
        Func3();
        return 0;
    }
    
    void Func1()   //判断是否满足自反性
    {
        bool flag = true;
        for(int i = 1; i <= nnn; i++)
        {
            if(relation[i][i] != 1)
            {
                flag = false;
                break;
            }
        }
        if(flag == true)
        {
            cout << "满足自反性" << endl;
        }
        else
        {
            cout << "不满足自反性" << endl;
        }
    }
    
    void Func2()  //判断是否满足对称性
    {
        bool flag = true;
        for(int i = 1; i <= nnn; i++)
        {
            for(int j = 1; j <=nnn; j++)
            {
                if(relation[i][j] != relation[j][i])
                {
                    flag = false;
                }
            }
        }
        if(flag == true)
        {
            cout << "满足对称性" << endl;
        }
        else
        {
            cout << "不满足对称性" << endl;
        }
    }
    
    void Func3()  //判断是否满足传递性
    {
        bool flag = true;
        for(int i = 1; i <= num - 1; i++)  //num表示关系个数
        {
            for(int j = 2; j <= num; j++)
            {
                if(arr[i][2] == arr[j][1])   //arr数组表示存储集合元素
                {
                    int num1 = arr[i][1], num2 = arr[j][2];
                    if(relation[num1][num2] != 1)
                    {
                        flag = false;
                        break;
                    }
                }
            }
            if(flag == false)
                break;
        }
        if(flag == true)
        {
            cout << "满足传递性" << endl;
        }
        else
        {
            cout << "不满足传递性" << endl;
        }
    }
    

    展开全文
  • 在 JDK 7 版本以上, Comparator 要满足自反性传递性对称性,不然 Arrays . sort ,Collections . sort 会报 IllegalArgumentException 异常。说明:1 ) 自反性: x , y 的比较结果和 y , x 的比较结果相反。...

    在 JDK 7 版本以上, Comparator 要满足自反性,传递性,对称性,不然 Arrays . sort ,
    Collections . sort 会报 IllegalArgumentException 异常。
    说明:
    1 ) 自反性: x , y 的比较结果和 y , x 的比较结果相反。
    2 ) 传递性: x > y , y > z ,则 x > z 。
    3 ) 对称性: x = y ,则 x , z 比较结果和 y , z 比较结果相同。
    反例:下例中没有处理相等的情况,实际使用中可能会出现异常:
    new Comparator<Student>() {
    @Override
    public int compare(Student o1, Student o2) {
    return o1.getId() > o2.getId() ? 1 : -1;
    }
    }

    转载于:https://www.cnblogs.com/amos-s/p/6387439.html

    展开全文
  • Determine-the-nature-of-the-set-of-binary-relations 对任意二元关系集合,判定其是否具有自反性对称性传递性、反对称性、反自反性,如果具有某些性质,需输出至少一个反例
  • 判断是否输入的矩阵是否为方阵,在是方阵的基础上判断是否具有对称性,反对称性和自反性。 对称矩阵:一个方形矩阵,其转置矩阵和自身相等。 对称矩阵是指以主对角线为对称轴,各元素对应相等的矩阵。用线性代数书上...
  • Wrashall算法,自反性对称性的实现

    千次阅读 2018-05-19 23:09:30
    如:自反性对称性传递性以及Wrashall算法,下面将用Java实现 一.处理二元关系的类(ArraysSetOperation): public class ArraysSetOperation { private int[][] array; private int[][] array2 = new int...
  • 求关系的自反对称传递,简单的代码。可以正常的运行,是课上的实验作业
  • 自反对称传递

    千次阅读 2016-04-19 21:41:37
    自反: 如果a是A的元素,那么,a>是R的元素 反自反:如果a是A的元素,那么,a>不是R的元素 对称: 如果,b>是R的元素,那么,a>是R的元素 反对称:如果,b>,,a>是R的元素,那么a,b相等 传递: 如果,b>,,c>是R的元素...
  • 学会用C语音编写自反闭包,对称闭包,传递闭包,加深对关系运算的理解。
  • 一、关系闭包 、 二、自反闭包 、 三、对称闭包 、 四、传递闭包 、
  • 本程序验证集合内的等价关系 检验是否满足自反关系 检验是否满足对称关系 检验是否满足传递关系
  • 只要有一个对角元素为1就具有反自反性 89 if (a[i][i]) 90 { 91 flag2 = 0 ; 92 break ; 93 } 94 } 95 return flag2; 96 } 97 98 int DC( int (*a)[M], ...
  • 自反: 如果a是A的元素,那么<a,a>是R的元素 反自反:如果a是A的元素,那么<a,a>不是R的元素 对称: 如果<a,b>是R的元素,那么<b,a>是R的元素 反对称:如果<a,b>,<b,a>是R的...
  • /***************自反性判断******************/ for(i=0;i;i++) { if(u[i][i]!=1)break; if(i==e-1)printf("关系A是自反的\n"); } for(i=0;i;i++) { if(u[i][i]==1)break;  if...
  • 如何判断关系是否自反,反自反,对称,反对称,传递

    万次阅读 多人点赞 2019-06-19 11:10:23
    自反与反自反可以同时满足。 下面来看如何通过关系矩阵,判断是否是传递关系。 传递关系,在关系矩阵能一眼直接看出,但是同样可以按照步骤来检查。 方法是: 按从上到下,从左到右,逐一检查某行...
  • 具体代码如下 1 #include<iostream> 2 using namespace std; 3 4 void Input(int a[25][2],int s) 5 { 6 int i; 7 8 for (i = 0; i < s; i++) 9 { 10 ...
  • /*2.1写一个程序,测试关系是否是自反对称的*/ //怎么让一个确定长宽的二维数组做函数的参数??????? #include<stdio.h> #define N 5 int a[N][N]; //在判断对称时使用 int leijia( int n ) { int ...
  • 关系的求逆与闭包关系的求逆关系求逆运算的性质关系的闭包如果R满足某关系,但是R'满足闭包的计算方法 关系的求逆 R是A到B的关系,Rc(R−1)={<y,x>∣<x,y>∈R} R是A到B的关系,R^c(R^{-1})=\{<y,x&...
  • c++实现 离散数学 “自...像下面的这个,就具有自反性了 反自反性: 听名字就可以知道,他和自反性是完全相反的,所以只要在关系图中每一个顶点都没有环,即在关系矩阵中要求主对角线上的元素为0。 像这样: 注意:
  • #include#include#includeusing namespace std;class Relation{ int p[20][20];public: Relation() { for(int i=0;i for(int j=0;j p[i][j]=0; } Relation (char *a) { for(int i=0;i for(int j=0;...
  • 离散数学,自反性

    千次阅读 2019-04-10 17:48:19
    print ('是自反性') elif numpy.all(B==0): print ('是反自反性') if (A==A.T).all(): print('是对称性') flag1=0 for i in range(0,a): for j in range(0,a): if A[i,j]==1 and i!=j and A[j,i]==0: flag1=1 ...
  • 在算法导论中看到一道题:如果关系R是对称传递的,那么它也是自反的,对吗?(B.2-5) 从等价的定义关系我们就知道,这个问题肯定是错误的,但是narcissus教授的推断似乎也是天衣无缝啊! 下面是我看到的一种...
  • 自反,反自反

    千次阅读 2015-11-03 08:18:00
    自反: 如果a是A的元素,那么是R的元素 反自反: 如果a是A的元素,那么不是R的元素 对称:如果是R的元素,那么是R的元素 反对称:如果,是R的元素,那么a,b相等 传递:如果,是R的元素,那么是R的元素
  • 粗糙集通过二元关系密切联系拓扑,并具有基于自反自反传递、自反对称等关系的拓扑研究。采用对称传递关系构建拓扑并研究其可数。基于对称传递关系,定义粗糙集近似集,由此建立拓扑及内部、闭包;针对构建拓扑,...
  • 做模糊聚类分析时判断模糊矩阵传递性并计算传递闭包MATLAB实现,,可以算出模糊传递矩阵,当矩阵满足自反性对称性时为等价矩阵
  • 反对称传递

    2013-12-18 16:21:48
    c语言编写离散判断是否满足自反(isReflexive),如不是求出自反闭包(reflexiveClosure) 判断是否满足对称(isSymmetric),如满足求出对称闭包(symmetricClosure) 判断是否满足反对称(isAntiSymmetric) 求...
  • 对于自反性,很好理解,等于自身。一般都不会违反。 对称性 上边的java.sql.Timestamp 例子就是违反了对称性。看下源码: // Timestamp @Override public boolean equals(java.lang.Object ts) { if (ts ...
  • 一、对称性 、 二、对称性示例 、 三、对称性定理 、 四、反对称性 、 五、反对称性示例 、 六、反对称性定理 、 七、对称性与反对称性示例 、

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,933
精华内容 7,973
关键字:

自反性传递性对称性