검색 트리 란 무엇입니까?

검색 트리는 컴퓨터 프로그래밍에 데이터 목록을 포함하고 구성하는 데 사용되는 데이터 구조입니다. 각 검색 트리는 순서대로 한 노드 세트로 구성되어 있습니다. 이러한 노드는 0 이상의 다른 노드에 연결될 수 있습니다. 개별 노드에는 일부 데이터와 다른 노드에 대한 링크가 포함되어 있습니다. 트리의 노드에 포함 된 데이터는 종종 어떤 방식으로, 노드를 제거하고 제거 할 수 있도록 할 수 있습니다.

검색 트리의 노드는 네 가지 중요한 용어로 설명됩니다. 첫 번째 노드가 위치한 트리 상단은 루트라고합니다. 노드에 하위 노드에 대한 링크가 포함되어 있으면 노드가 부모로 알려져 있습니다. 부모 아래에있는 노드는 자식 노드가없는 모든 노드가 잎이라고 밝히지 않습니다. 아이들.

프로그램은 특정 노드에서 시작하여 조건부 점검을 수행 한 다음 필요한 데이터가 존재하지 않으면 다음 논리 노드로 이동하여 데이터 검색을 통해 트리 검색을 이동할 수 있습니다. 사용 된 데이터 구조에 따라이 검색이 변동하는 시간이 걸릴 수 있습니다. 검색 트리가 노드를 추가하고 제거하는 과정에서 검색 트리를 구성하는 경우, 검색이 매우 빨라질 수 있습니다. 오랜 시간.

검색 트리의 사용에 영향을 미치는 한 가지 요소는 균형 문제입니다. 균형 잡힌 트리는 루트 노드의 오른쪽과 왼쪽 어린이 모두와 동일한 어린이 노드의 깊이와 서로의 1 노드 수 내에있는 것입니다. 나무의 깊이는 나무의 가장 낮은 잎에서 루트까지의 노드 수입니다.r 모든 노드는 분기가없는 선형 방식으로 배열되어 있습니다. 트리의 깊이가 증가하면 검색 알고리즘의 속도가 크게 감소 할 수 있습니다.

자체 촉진으로 묘사되는 특정 유형의 검색 트리가 있습니다.이 나무는 트리 회전과 같은 작업을 사용하여 잎의 데이터 순서를 보존하는 동안 균형을 유지하는 데 도움이됩니다. 노드를 추가하고 제거 할 때 트리 회전을 속도가 느려질 수 있지만 데이터를 검색 할 수있는 속도에 의해 대응됩니다.

.

많은 유형의 검색 트리가 있지만 가장 일반적인 트리 데이터 구조는 이진 검색 트리입니다.이 데이터 유형은 각각 각각 0에서 두 개의 하위 노드를 가진 노드로 구성되어 있습니다. 루트 노드는 하나 뿐이며 트리의 모든 잎은 왼쪽에서 오른쪽으로 주문하여 데이터를 주문할 수있는 많은 알고리즘이 존재합니다.y 쉬운.

검색 트리 노드에 대한 단일 표준 구현은 없습니다. 노드는 다양한 데이터 구조로 표시 될 수 있습니다. 링크 된 목록을 곱할 수있는 배열 배열을 사용할 수 있습니다. 종종 검색 트리는 프로그램에서 요구하는 필요한 작업을 완료하기 위해 설계된 사용자 정의 데이터 구조를 사용합니다. 일부 표준 프로그래밍 라이브러리는 검색 트리의 내부 구현도 포함합니다.

.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?