我正在尝试编写一个方法,该方法将在顺序重要的情况下计算幂集的所有排列。我相信这些被称为“安排”。我的意思是:
{a} -> {{a}, {}}
{a,b} -> {{a,b}, {b,a}, {a}, {b}, {}}
{a,b,c} -> {{a,b,c}, {a,c,b}, {b,a,c}, {b,c,a}, {c,a,b}, {c,b,a}, {a,b}, {a,c}, {b,a}, {b,c}, {c,a}, {c,b}, {a}, {b}, {c}, {}}
我的印象是,给定一个集合S,我应该生成S的幂集的每个子集的每个置换,所以首先生成幂集,然后将置换函数映射到每