, '-'입력에서 힙 (heap)으로 주어진 이진 트리에서 노드의 좌표를 찾는 방법은 무엇입니까? 같은 입력으로 힙을 감안할 때
1 2 3 - 5 - 7
빈 노드를 나타내며, 나는 노드의 좌표를 찾으려 BE 위의 입력을위한 것 :
[1, 0] [0, 2] [2, 2] [-1, -1] [1, 4] [-1, -1] [3, 4]
위한
규칙 변환 좌표는 다음과 같다 : 트리의 각각의 "층"들 사이의 공간
- 이 있어야 1 행, 우리는 각각의 계층 2와 Y 값을 증가 의미한다.
- 왼쪽 노드의 X 좌표 = 0이어야합니다.
- 각 노드 사이에는 적어도 하나의 공백이 있어야합니다.
- 모든 좌표는 정수 여야합니다.
- 루트 노드에 두 개의 자식이있는 경우 루트는 두 개의 자식이 중간에 있어야합니다.
- 루트 노드에 자식이 하나만있는 경우 루트의 왼쪽 또는 오른쪽 자식에 따라 루트의 왼쪽 또는 오른쪽 중 하나에 자식을 배치해야합니다.
- 루트 노드에 두 개의 하위 트리가있는 경우 오른쪽 하위 트리의 노드에 대한 모든 x 좌표가 왼쪽 하위 트리의 노드에 대한 x 좌표보다 커야합니다.
- 빈 노드의 좌표는 [-1 , -1]
나는이 문제를 해결할 수있는 방법을 찾아 낼 수 없으므로 도움을 주시면 감사하겠습니다.
도움이 필요하면 시도한 코드의 [Minimal, Complete, Verifiable example] (http://stackoverflow.com/help/mcve)을 게시해야합니다. – CAB
나는이 문제를 어디에서 해결할 지에 대한 실마리가 없기 때문에 아직 어떤 코드도 가지고 있지 않다 ... – NinjaNymo