이것은 매우 순진하지만 모든 순회 유형의 이진 트리 (일반, 정렬 및 균형 조정) 컨텍스트와 관련하여 궁금합니다.
- 깊이 우선 선주문
- 깊이 우선
- 깊이 우선 포스트 오더
- 너비 우선
사전 및 사후 주문의 실제 유용성은 무엇입니까? 사전 및 / 또는 주문 후 순회가 다른 두 가지에 비해 (일부) 이점을 제공하는 이진 트리의 유형 및 / 또는 구성이 있습니까?
AFAICS에는 순서와 폭이 일정한 이점을 제공 할 수있는 특정 유형 및 이진 트리 구성이 있습니다.
균형 이진 트리의 경우 모든 깊이 우선 순회는 너비 우선에 비해 적은 메모리 저장 공간을 사용합니다 (예 : 6 또는 7 노드의 균형 이진 트리의 경우 높이는 2이므로 모든 깊이 우선 순회는 최대 값을 저장해야 함). 주어진 시간에 2 개의 노드, 마지막 레벨에는 3 개 또는 4 개의 노드가 있으므로 너비 우선 탐색은 특정 시점에 최대 3 개 또는 4 개의 노드를 저장해야합니다. 이 경우 순서 순회를 사용하면 메모리가 가장 적게 사용되며 자연 순서대로 노드를 방문합니다.
균형이 맞지 않는 이진 트리의 경우 최악의 삽입 시나리오에 가까우면 너비 우선 순회는 깊이 우선 순회보다 메모리 사용량이 적습니다. 따라서이 경우 너비 우선은 이점을 제공합니다. 순차 순회는 다시 자연스럽게 값을 방문하는 이점이 있습니다.
그러나 사전 및 사후 통과가 다른 두 가지보다 유리한 상황을 생각할 수 없습니다.
A + B * C
되는 방식에 주목하십시오 . 이는 접두사 순서의 접두어보다 일반 사용자가 이해하기가 훨씬 쉽습니다.