나는 순서가 중요한 곳에서 파워 집합의 모든 순열을 계산할 방법을 쓰려고합니다. 나는 이것을 "준비 (arrangement)"라고 생각한다. 내가이 의미하는 것은 :자바의 효율적인 배열 알고리즘
{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.의 파워 셋의 모든 부분 집합의 모든 순열을 생성해야한다는 것입니다 기능을 각 세트에 적용합니다.
문제는 이것이 매우 복잡하다는 것입니다. 예를 들어 k = 0..n 인 O (Σn!/k!)와 같은 것입니다.
이 종류의 일을 매우 효율적으로 수행하는 기존의 알고리즘 (아마도 병렬 구현)이 있는지 궁금합니다. 또는 병렬 병렬 알고리즘이 존재하고 병렬 대체 알고리즘이 존재하는 경우에도 두 알고리즘을 결합 할 수 있습니다.
생각하십니까?
아마도이 게시물을 확인하십시오. http://stackoverflow.com/questions/1506078 – squiguy
[빠른 순열 -> 수 -> 순열 매핑 알고리즘] 가능한 복제본 (http://stackoverflow.com/questions/1506078/fast) -permutation-number-permutation-mapping-algorithms) – Makoto
나는 그것이 중복이라고 생각하지 않는다. 나는 그 실을 읽고 꽤 다른 것을 요구합니다. 솔루션은 주제와 다소 비슷하지만 별도의 스레드를 보증 할만큼 충분히 다릅니다. – rhombidodecahedron