[離散數學]N個元素的集合有多少個划分?


1個元素的集合A={a}
划分:1個   就是A本身

2個元素的集合A={a,b}的划分
    划分成一大塊  A
    划分成2小塊:{{a},{b}}
    共計兩種
3個元素共計5種
參考屈婉玲《離散數學》p134頁

4個元素的集合{a,b,c,d}
4,這么划分有1種. 是{a,b,c,d}
1,3,這么划分有4種. 分別是{<a>,<b,c,d>}、{<b>,<a,c,d>}、{<c>,<a,b,d>}、{<d>,<a,b,c>}
2,2,這么划分有3種. 分別是{<a,b>,<c,d>}、{<a,c>,<b,d>}、{<a,d>,<b,c>}
1,1,2,這么划分有6種. 分別是{<a>,<b>,<c,d>}、{<a>,<c>,<b,d>}、{<a>,<d>,<b,c>}、{<b>,<c>,<a,d>}、{<b>,<d>,<a,c>}、{<c>,<d>,<a,b>}
1,1,1,1,這么划分有1種. 是{<a>,<b>,<c>,<d>}
以上一共有15種.

那么n個元素的划分:
遞歸算法:

 

 

//n個元素有多少個划分
int F(int n,int m){
    if(m==1)
        return 1;
    if(m==n)
        return 1;
    else{
        return F(n-1,m-1)+m*F(n-1,m);
    }
}

int main(){
    int sum=0;
    int n=5;
    for(int i=1;i<=n;i++)
        sum+=F(n,i);
    printf("%d\n",sum);
    
}

參考資料:https://wenku.baidu.com/view/c726a2f09ec3d5bbfd0a745c.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM