이진 정렬 트리란 무엇입니까?
이진 정렬 트리(Binary Sort Tree)는 우선 트리입니다. "바이너리"에 대한 설명은 이미 매우 명확합니다. 트리의 가지에 두 개의 분기가 있다는 의미입니다. 재귀적으로 이진 트리(아래 그림 참조)이며 이 트리의 노드가 정렬되었습니다. 구체적인 정렬 규칙은 다음과 같습니다.
왼쪽 하위 트리가 비어 있지 않으면 모든 왼쪽 하위 트리의 노드는 노드의 값이 루트 노드의 값보다 작습니다.
오른쪽 하위 트리가 비어 있지 않으면 오른쪽 단어 번호에 있는 모든 노드의 값이 노드의 값보다 큽니다. 루트 노드의 값
Its 왼쪽과 오른쪽 하위 트리도 각각 이진 정렬 번호(재귀 정의)입니다
그림에서 볼 수 있듯이 이진 정렬 트리가 데이터를 구성할 때 , 하나의 노드를 통과할 때마다 가능성이 최대 절반으로 줄어들기 때문에 검색에 사용하는 것이 더 편리합니다. 그러나 극단적인 경우에는 직관적으로 모든 노드가 같은 쪽에 위치하게 됩니다. 그러면 이러한 종류의 쿼리는 효율성이 상대적으로 낮으므로 이진 트리의 왼쪽 및 오른쪽 하위 트리의 높이를 계산해야 하므로 균형 이진 트리가 있습니다. p>소위 "균형"이란 트리의 각 가지의 높이가 균일하다는 것을 의미하며, 왼쪽 하위 트리와 오른쪽 하위 트리 하위 트리 높이 차이의 절대값이 1보다 작아서 가지가 특별히 길지는 마세요. 따라서 이러한 균형 잡힌 트리에서 검색할 때 노드 비교의 총 개수는 트리 높이를 초과하지 않으므로 쿼리의 효율성이 보장됩니다(시간 복잡도는 O(logn))