2012-06-07 3 views
0

반복 및 재귀 적으로 문자열의 모든 순열을 인쇄하는 방법을 알려줄 수 있습니까? 나는 VB.NET을 선호하거나 그냥 의사 코드가 좋다.문자열의 모든 순열을 반복적이고 재귀 적으로 인쇄하는 방법은 무엇입니까? VB.NET

미리 감사드립니다.

자료의 경우 : 한 편지의 순열 하나 개의 요소를 다음과 같이

+0

가능한 복제본 [문자열의 모든 가능한 순열의 목록 생성] (http://stackoverflow.com/questions/361/generate-list-of-all-possible-permutations- of-a-string) – Neil

+0

http://www.codeproject.com/Articles/26050/Permutations-Combinations-and-Variations-using-CG –

답변

3

재귀 접근 방식이다.

일반 경우 : 문자 세트의 순열은 각 문자의 목록이며 다른 문자의 모든 순열과 연결됩니다.

는 설명 : 세트가 하나 개의 문자가

경우 해당 문자를 반환합니다. 순열 (a) -> a

세트에 두 글자가 있으면 각 글자와 나머지 글자가 순열 됨.

순열 (AB) ->

A + 순열 (B) -> AB

B + 순열 (a) -> 집합의 각 문자 BA

가 함께 연결된 문자를 반환 편지의 나머지 부분의 perumation.

순열 (ABC) ->

A + 순열 (BC) -> ABC, ACB

B + 순열 (AC) - "BAC, BCA

C + 순열 (ab) -> 택시, CBA

관련 문제