어떻게하면 다음 문제를 더 작은 부분으로 분해해야합니까?나무를 만들고 모든 가지 추출하기
내가 식당을 소유하고 있고 오늘의 메뉴를 디자인하고 싶다고 가정 해 보겠습니다.
간단한 예를 들어, 나는 재료의 3 종류가 있습니다 야채 (토마토, 감자, 상추) 탄수화물 (밥, 파스타, 빵) 고기 (돼지 고기, 닭고기, 쇠고기)
편집 :에서 실제로, 성분 및 성분 유형의 불명 한 양이있다. 사용할 수있는 모든 요리의 목록을 만들고 싶습니다. 상기 예를 사용하여, 각각의 접시는 3 가지 유형의 성분 모두를 가져야한다. 토마토 - 파스타 - 닭고기, 감자 - 빵 - 쇠고기.
기본적으로 내 접근 방식은 이것을 트리로 처리하고 DFS를 처리하는 것입니다. 트리가 통과 할 때 분기 객체를 생성하고 트리의 맨 아래에 도달 할 때까지 각 노드를 분기 객체에 추가 한 다음 모든 노드가 통과 할 때까지 새 분기를 만듭니다. 이 조합을 나열합니다
Meals
/ | \
Tomatoes Potatoes Lettuce
/ | \ / | \ / | \
Rice Pasta Bread Rice Pasta Bread Rice Pasta Bread
/ | \
Beef Pork Chicken
감자는 수화물이지만 야채는 아닙니다.하지만 하 XML을 사용하여 이것을 고려 했습니까? –
하하 좋은 소리, 고마워. 데이비드. 내 생물학을 다듬어야 해. 저는 이것을 수행하기 위해 기존 도구/라이브러리를 사용해야한다는 것을 알고 있습니다. 그러나 학습을 위해서, 나는 스스로 이것을 잠재적으로 구현할 수있는 방법을 연구하고 싶어합니다. – learningnewthings
각 메뉴 구성 요소 (veg, carb, meat)에 대해 트리플 중첩 된 'For' 루프를 사용하여 옵션을 탐색 할 수 있습니다. 27 가지 조합이 가능합니다. Microsoft XML, v6.0 라이브러리를 사용하고 XML 문서로 빌드합니다. –