검색 트리 란 무엇입니까?

검색 트리는 데이터 목록을 포함하고 구성하기 위해 컴퓨터 프로그래밍에 사용되는 데이터 구조입니다 .‭ ‬ 각 ‭ 검색 ‭ ‬ 트리는 순서가 지정된 노드 세트로 구성됩니다 .‭ ‬이 노드는 0 개 이상의 다른 노드에 연결할 수 있습니다. individual nodes 개별 노드에는 다른 노드에 대한 링크뿐만 아니라 일부 ‬ 데이터가 포함됩니다. ‭ 트리의 노드에 포함 된 데이터는 효율적인 알고리즘을 검색 할 수 있도록 몇 가지 방식으로 정렬됩니다. nodes 노드를 쉽게 삽입하고 제거하십시오.

검색 트리의 노드는 4 가지 중요한 용어로 설명됩니다. ‭ ‬ 트리의 상단, ‭ ‬ 첫 번째 노드가있는 위치, ‭를 루트라고합니다. ‭ ‬If‭ ‬a‭ ‬ 노드에는 하위 링크 -노드, ‬ ‬ 노드를 부모라고합니다. ‭ ‬ ‬ ‬ 부모 아래에있는 노드를 자식이라고하며, 자식 노드가없는 노드를 ‭ leaf 잎이라고합니다. 루트 노드는 부모가 없기 때문에 식별되며, 리프 노드는 자식이 없습니다.

프로그램은 특정 노드에서 시작하여 check 조건부 검사를 수행 한 다음 필요한 데이터가없는 경우 다음 논리 노드로 이동하여 데이터를 검색하는 트리를 통해 이동할 수 있습니다. ‭ 사용 된 데이터 구조에 따라 , ‭ ‬이 검색은 가변 시간이 걸릴 수 있습니다 .‭ ‬ 노드를 추가 및 제거하는 과정에서 검색 트리가 구성되면 검색이 매우 빠를 수 있습니다 .‭ ‬ 나무가 조립 된 경우 ‭ ‬ 조립 parents 무작위로, ‭ ‬는 분류되지 않았거나 여러 부모를 허용합니다. ‭ 검색에 시간이 오래 걸릴 수 있습니다.

검색 트리 사용에 영향을 미치는 한 가지 요소는 균형 문제입니다 .‭ 균형 트리는 루트 노드의 오른쪽 및 왼쪽 하위 노드에 동일한 깊이의 하위 노드가 포함되거나 단일 노드 수 내에있는 트리입니다 ‭ ‬ 깊이 ‭ ‬a‭ ‬ 나무는 나무의 가장 낮은 잎에서 뿌리까지의 노드 수입니다. ‭ 불균형 나무는 한쪽에만 모든 노드를 갖거나 모든 노드를 가질 수 있습니다 가지가없는 선형으로 배열 된 노드. ‭ 나무의 깊이가 증가하면 can ‬ search 검색 알고리즘의 속도가 급격히 떨어질 수 있습니다.

자체 밸런싱으로 설명되는 특정 유형의 검색 트리가 있습니다. ‭이 트리는 트리 회전과 같은 작업을 사용하여 ‭ 균형을 유지하고 ‭ 동안 ‬ 잎의 데이터 순서를 유지합니다. 트리를 회전하면 노드를 추가 및 제거 할 때 프로그램 속도가 느려질 수 있습니다. 이는 데이터를 검색 할 수있는 속도에 따라 계산됩니다.

검색 트리에는 여러 유형이 있지만 가장 일반적인 트리 데이터 구조는 이진 검색 트리입니다.이 데이터 유형은 각각 0에서 2 개의 자식 노드가있는 노드로 구성됩니다. tree 나무의 모든 잎은 왼쪽에서 오른쪽으로 오름차순으로 정렬됩니다. ‬ ‬ 보유한 데이터에 따라 값이 ‭ ‬ ‬ 많은 ‬ 알고리즘 ‭ ‬ ‬ can binary ‬ 주문 데이터를 매우 쉽게 만듭니다.

검색 트리 노드에 대한 단일 표준 구현은 없습니다. ‭ 노드는 다양한 데이터 구조로 표현 될 수 있습니다. ‭ 배열의 배열을 사용할 수 있으며, ‭ ‬ 연결된 목록을 곱할 수 있습니다. 검색 트리는 프로그램이 요구하는 필요한 작업의 완료를 지원하도록 설계된 사용자 정의 데이터 구조를 사용합니다. ‭ 일부 표준 프로그래밍 라이브러리 ‭ ‬ ‭ ‬ 자체 검색 트리의 내부 구현을 포함합니다.

다른 언어

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

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