包含N个元素的集合有多少种不同的二元关系?如何计算?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包含N个元素的集合有多少种不同的二元关系?如何计算?相关的知识,希望对你有一定的参考价值。

A上二元关系的定义是其笛卡尔A*A子集A*A中,有元素N²个,所以其子集有 2^(N²) 个,所以二元关系有 2^(N²) 个。

两元素按一定次序组成的二元组:<x,y>,x第一元素,y第二元素,次序不可改变。由于关系是在集合上定义的,是有序对的集合,同时关系的许多运算也都是集合的运算,所以在学习关系时要始终注意与集合的紧密联系,从集合的性质、特点去把握和认识关系。

扩展资料:

注意事项:

偏序存在A<B,A<C,则B与C之间无法比较大小的现象。而对应的全序则必须是形如A<B<C的形式。即全序要求每个元素之间都能比较大小,偏序不要求。

离散数学中,一个关系R的闭包,是加上最小数目的有序偶而形成的具有自反性,对称性或传递性的新的有序偶集,此集就是关系R的闭包。

参考资料来源:百度百科-二元关系

参考技术A A上二元关系的定义是:其笛卡尔A×A子集

A×A中,有元素N²个,所以其子集有 2^(N²) 个
所以二元关系有 2^(N²) 个本回答被提问者采纳
参考技术B

N中取2的组合数:看图

参考技术C N中取2的组合数:
等于:组合数 = N! / ([ 2! (N-2)! ]
如N=3, 组合数=3
N=10 组合数=10!/ 2 /8!=45
若团队里有十人,得处理45种二元关系!

leetcode62

使用排列组合计算公式来计算,注意使用long long型数据保证计算不会溢出。

class Solution {
public:
    int M, N;
    int X = 0;
    //从根到叶子有多少个分支,就表示有多少种路径
    //解空间是一个包含{0,1}的集合,总共有(m-1)+(n-1)个元素。
    void BackTrack(int x, int y)
    {
        if (x == M &&y == N)
        {
            //到达叶子节点
            X++;
            return;
        }
        if (x < M)
        {
            BackTrack(x + 1, y);
        }
        if (y < N)
        {
            BackTrack(x, y + 1);
        }
    }

    long long FA(long long a) //定义阶乘函数FA
    {
        long long x = 1;//定义变量b
        for (int i = 1; i <= a; i++)//计算阶乘 
            x *= i;
        return x;//返回值得到b=a! 
    }

    long long FA(long long a, long long b) //定义阶乘函数FA
    {
        //long long b = 1;//定义变量b    
        long long x = 1;
        for (int i = b; i <= a; i++)//计算阶乘 
            x *= i;
        return x;//返回值得到b=a! 
    }

    int uniquePaths(int m, int n) {
        //M = m - 1;
        //N = n - 1;
        //BackTrack(0, 0);
        //return X;
        //单纯计算数量,可以不用递归,只需要计算选择数即可
        /*double res = 1;
        for (int i = 1; i <= n - 1; i++)
            res *= ((double)(m + i - 1) / (double)i);
        return (int)round(res);*/
        long long a = FA(m - 1 + n - 1, max(m, n));
        long long b = FA(min(m, n) - 1);
        return (int)(a / b);
    }
};

 

以上是关于包含N个元素的集合有多少种不同的二元关系?如何计算?的主要内容,如果未能解决你的问题,请参考以下文章

给定一个集合,查找集合中一共多多少种不同的元素

如何证明,在n个元素组成的集合中取n+1个不同的三元子集,求证必有两个子集,它们恰有一个公共元?

102422关系

leetcode62

二元关系的关系的闭包

关键词检索中的代数概念