1

기본적으로 부모 포인터 벡터 [0 1 1 2 2 3 3 5 5 ....]는 기본적으로 이진 트리입니다. 인덱스는 자식이며 해당 값은 동일한 벡터에서 부모의 인덱스를 나타냅니다.이진 검색 트리 인덱스 증가에서 생성

예 : 위의 벡터에서 색인 5로 계산하면 요소는 2로 부모가 색인 2에 있음을 나타냅니다. 다시 색인 2에서 요소는 1로 부모가 색인 1에 있음을 의미합니다. 인덱스 1에서 요소는 루트 노드 인 0입니다.

어떻게하면 이진 검색 트리를 만들 수 있습니까?

OR,

나는 이진 검색 트리에 저장할 수있는 방법을 내가 아이들을 해당 부모와 알고있는 나는 이진 트리 형식으로 데이터를 생성하고

?

위의 벡터와 같이 하위 색인은 항상 상위 색인보다 커야합니다. 예제는 다음과 같습니다. 노드 1을 두 노드 2와 노드 3으로 나눕니다. 노드 2를 4와 5로 나눕니다. 그러면 노드 4를 6과 7 등으로 나눕니다. 이진 검색 트리에서 상위 하위 관계를 유지하려고합니다.

안부

Wajahat

+1

무엇이 문제입니까? 게시물에 물음표가 보이지 않습니다 ... – iwein

+0

죄송합니다. 이제 쉽게 질문을 식별 할 수 있습니다. – Wajahat

+0

덕분에 훨씬 명확 해졌습니다. – iwein

답변

0

는 벡터의 사양에 따라 빈 요소와 이진 트리를 생성합니다. 새로운 요소가 도착하면, 그것을 놓을 곳을 찾으십시오 : 이진 탐색 트리 규칙에 따라 트리를 탐색하십시오 - 왼쪽 하위 트리의 모든 하위 요소는 요소보다 작고 오른쪽 하위 트리의 모든 하위 노드가 더 큽니다. 이진 트리의 요소에 해당하는 노드를 채 웁니다. 당신은 시간의 어느 시점에이 나무가있는 경우 예는, 5가 도착하면

새로운 값 3은 도착이 2 그러나 값으로 노드의 오른쪽 자식을 채울 것,을 곳이 없다 미리 정의 된 트리 구조에 넣으십시오.