Skip to main content

검색 트리 란 무엇입니까?

∎ 검색 트리는 컴퓨터 프로그래밍에 데이터 목록을 포함하고 구성하는 데 사용되는 데이터 구조입니다. 각 검색 트리는 주문한 노드 세트로 구성되어 있습니다.이 노드는 0 이상으로 연결될 수 있습니다.다른 노드. 개별 노드에는 일부 데이터와 다른 노드에 대한 링크가 포함되어 있습니다. 트리 노드에 포함 된 데이터는 효율적인 알고리즘을 검색 할 수 있도록 어떤 방식 으로든 순서가 매우 종종 있습니다.검색 트리의 노드는 네 가지 중요한 용어로 설명합니다. 첫 번째 노드가 위치한 트리의 상단을 루트라고합니다.노드에 하위 노드에 대한 링크가 포함 된 경우 해당 노드는 부모로 알려져 있습니다. 부모 아래에있는 노드는 어린이라고하며 하위 노드가없는 노드는 다음과 같습니다.잎이라고 불립니다. 그래서, 루트 노드는 부모가없고 잎 노드에는 자녀가 없기 때문에 식별됩니다.∎ 프로그램은 특정 노드에서 시작하여 조건부 점검을 수행 한 다음 필요한 데이터가없는 경우 다음 논리 노드로 이동하여 데이터를 검색하는 트리를 통해 이동할 수 있습니다. 데이터 구조에 따라사용되는 경우이 검색은 가변적 인 시간이 걸릴 수 있습니다. 노드를 추가하고 제거하는 과정에서 검색 트리가 구성되면 검색이 매우 빠를 수 있습니다. 트리가있을 때.무작위로 조립되거나 분류되지 않거나 여러 부모가 허용되면 검색은 매우 오랜 시간이 걸릴 수 있습니다.

검색 트리의 사용에 영향을 미치는 한 가지 요소는 균형의 문제입니다. 균형 잡힌 나무는 균형을 이루는 것입니다.루트 노드의 오른쪽과 왼쪽 어린이 모두 동일한 자식 노드 깊이를 포함하거나 서로의 1 노드 카운트 내에 있습니다. 트리의 깊이는 노드 수입니다.뿌리에 나무의 가장 낮은 잎. 불균형 트리는 한쪽에 모든 노드를 가질 수 있거나 모든 노드를 가질 수 있습니다.가지가없는 선형 방식으로 배열됩니다. 트리의 깊이가 증가하면 검색 알고리즘의 속도가 크게 감소 할 수 있습니다.이 나무는 트리 회전과 같은 작업을 사용하여 잎의 데이터 순서를 유지하면서 균형을 유지하는 데 도움이됩니다. 트리 회전을 수행하면 노드를 추가하고 제거 할 때 프로그램이 느려질 수 있지만.이것은 데이터를 검색 할 수있는 속도에 의해 대응됩니다.

많은 유형의 검색 트리가 있지만 가장 일반적인 트리 데이터 구조는 이진 검색 트리입니다.이 데이터 유형은 각각 0이없는 노드로 구성됩니다.두 개의 자식 노드에. 루트 노드는 하나 뿐이며 트리의 모든 잎은 왼쪽에서 오른쪽으로 주문한 데이터에 따라 오름차순 값으로 주문됩니다.주문 데이터를 매우 쉽게 만들 수있는 이진 검색 트리에 대한 알고리즘이 존재합니다.

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