계층 구조 코드는 계층 구조 수준 및 각 수준의 코드 목록에 해당하는 키를 사용하여 OrderedDict에 저장됩니다. 각 자식 수준은 부모 수준의 코드와의 관계가 있습니다.계층 적 데이터 탐색 및 파이썬 표현
codes_dict = {
11: {
111: {
1111: {
...
},
1112: {
...
},
1113: {
...
},
...
},
112: {
...
},
}
}
정신적으로 난 그냥 프로그래밍을하고 있지 않다 : 나는 그런 중첩 된 사전 또는 이러한 코드의 트리 표현, 같은 이전되는 무언가로 한이 양식에서 얻을 것을 시도하고
from collections import OrderedDict
codes_ord_dict = OrderedDict([
(2, [11]),
(3, [111, 112]),
(4, [1111, 1112, 1113, 1114, 1119, 1121, 1122, 1123, 1124, 1125, 1129])
])
횡단 연결 수준으로 끌어 올리려면 다음 단계로 이동하여 부모 코드를 따라 가서 내가 만든 방식으로 돌아가고 다음 코드로 이동하기 전에 자녀를 구성하십시오. 내가 만든 관계와 내가 가진 관계를 기록합니다 아니, 그래서 반복되지 않습니다. 실제로 나에게 주어진 답을 찾지는 못했지만이 문제에 접근하는 방법에 대한 몇 가지 전략이 있습니다. 그것은 해결책이 재귀를 포함하는 것처럼 보이지만 이전 수준과 다음 수준을 참조하도록 일부 상태를 유지해야합니다.
모든 안내를 받으실 수 있습니다.
@Delforge 감사합니다. 당신의 "순진 구현"은 깊이가 부모와 자식 노드에 따라 다르므로 더 큰 문제의 경우에 매우 적합합니다. 큰 문제는 6 번째 레벨에서 7 자리 코드로 6 개 레벨의 가능성을 갖지만 일부 모 노드에는 어린이/잎이 없습니다. 그래서 이것은 좋은 일입니다. 다른 사람들이 궁금해할만한 대답을 아래 Python 3 구현에 게시 할 것이다. 또한 문제를 6 레벨로 확장하고 출력의 스 니펫을 게시 할 것입니다. – Erik