2013-03-06 4 views
1

이진 검색 트리를 쓰고 부모 포인터를 포함하고 싶습니다. 지금 가지고있는 방법은 부모 참조가 노드라는 것입니다. 예를 들어, 내 getParent()는 값이 아닌 노드를 반환합니다.이진 검색 트리 부모 포인터

제 질문은 이것이 올바른 방법인지 아니면 부모 참조가 getParent()가 노드 대신 값을 반환하도록 부모의 값이어야하는지 여부입니다.

+1

노드에 있어야하며 트리에서 내부 용도 여야합니다. –

+0

그래, 반드시 노드 여야합니다. 가치가 있다면 가치로 부모를 얻을 때 적절한 노드를 검색해야합니다. 그건 .. 트리를 거꾸로 돌아볼 필요가 있다고 가정 할 때. –

답변

1

노드 자체를 반환하는 것이 좋습니다. 값 자체를 계속 저장하면 데이터 크기가 이론상 사실상 거의 두 배로 커지게됩니다. 왜냐하면 각 노드에는 하나가 아닌 두 개의 값 집합이 포함될 것이기 때문입니다.

0

귀하의 요구 사항에 따라 다르지만 Nodevalue가있는 노드로 올바르게 유지하는 것처럼 보입니다. 필요한 경우이 방법을 사용하면 필요한 경우 오리엔테이션 방향을 말하도록 프로그램을 향상시킬 수 있습니다. 이 방법은 더 유연합니다.