본문 바로가기

자료구조 및 알고리즘

반복문(For-loop)의 유한 중첩(finite nesting)?


반복문을 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