반복문을 10번 중첩 시킬지 아니면 7번 중첩 시킬 지 알 수 없는 경우,
혹은 그만큼의 중첩이 필요한 경우에 어떻게 이를 코드로 표현할 것인가?
이 문제는 유한 집합들의 카티션 곱을 계산하는 문제와 닮았다.
한가지 해법.
Iterator를 하나의 integer 변수로 선언할 것이 아니라 여러개의 변수가 함축된 구조체 타입으로 선언하여
iterator를 움직일 때 마다 나름의 메커니즘으로 구조체의 값을 바꾸면 된다. 한 가지 메커니즘은 이진수를 작은 수부터 출력하는 방법을 구현하는 것이다. 이 구현은 하나의 반복문 안에서 값이 증가될 자리(digit)에 대한 변수를 관리하면서 자리 올림을 확인하는 방식으로 구현될 수 있다.
'자료구조 및 알고리즘' 카테고리의 다른 글
[RL] Tile coding (0) | 2012.01.13 |
---|---|
(GA) Normalization in Genetic Algorithms (0) | 2010.06.29 |
Metaheuristic and Heuristic (0) | 2010.02.08 |
Undecidable problem (0) | 2010.02.08 |
유전 알고리즘(CHC Eshelman) (0) | 2010.02.04 |