[알고리즘 C언어] 6.1.1 순열 알고리즘의 경험(Heuristic)정보 설계

바구니에서 공을 꺼내는 순열 문제의 경험 정보는 꺼내지 않은 공의 집합과 꺼낸 공의 집합이라 할 수 있습니다.

여기에서는 동적 배열을 이용하여 꺼낸 공과 꺼내지 않은 공의 집합을 표현할게요. 동적 배열과 연결리스트, 스택에 관한 코드 설명은 이 책에서는 하지 않습니다. 디딤돌 자료구조 (C언어)를 참고하세요. 이에 관한 소스 코드는 6.1.4 순열 알고리즘 소스 코드에 있습니다.

초기 경험 정보를 생성하는 함수를 제공합시다. 이 함수에는 초기 바구니에 있는 공의 집합을 입력 인자로 전달받아야 합니다.

동적으로 생성한 경험 정보를 소멸하는 함수도 제공합시다.

현재 경험 정보에서 다음 경험 정보들을 조사하는 함수도 제공해야 합니다. 입력 인자로 현재 경험 정보와 다음 경험 정보들을 보관할 동적 배열을 받기로 할게요.

원하는 결론에 도달했는지 확인하기 위해 꺼낸 공의 개수를 반환하는 함수도 제공합시다.

그리고 꺼낸 공의 목록을 출력하는 함수도 제공합시다.


학습에 도움이 되시면 ebook을 구입(판매가 3000원, ebook)하여 소장하시면 감사하겠습니다.