이진탐색트리 예제

주의해야 할 중요한 항목은 트리 삽입 알고리즘을 정의하는 방법입니다. 먼저 루트 노드가 있습니다. 왼쪽에 있는 모든 하위 트리 노드는 루트 노드보다 더 작은 값을 갖습니다. 그리고 모든 오른쪽 하위 트리 노드는 루트 노드보다 큰 값을 갖습니다. ML과 같은 태그가 지정된 공용 구조체가 있는 언어에서 트리 노드는 종종 두 가지 유형의 노드의 태그가 지정된 공용 구조체이며, 그 중 하나는 3-tuple 데이터, 왼쪽 자식 및 오른쪽 자식이며, 다른 하나는 null 값과 같은 데이터와 함수를 포함하지 않는 “리프” 노드입니다. 포인터가 있는 언어로 되어 있습니다. 예를 들어 OCaml(ML 방언)의 다음 코드 줄은 각 노드에 문자를 저장하는 이진 트리를 정의합니다. [26] 조부모, 부모, 자녀, 형제 등 모든 세대의 관계가 있는 가계도를 상상해 보십시오. 우리는 일반적으로 가계도를 계층적으로 구성합니다.

DFS는 다른 경로를 역추적하고 탐색하기 전에 리프까지 의 경로를 탐색합니다. 이러한 유형의 통과를 예로 들어 보겠습니다. 이것은 무한 깊이 이진 트리를 이 트리에 매핑한 다음 너비 우선 검색을 적용하는 것으로 해석할 수 있습니다: 부모 노드를 두 번째 및 이후 자식에 연결하는 “아래” 가장자리를 첫 번째 자식에서 두 번째 자식에 대한 “오른쪽” 가장자리로 바꿉니다. 셋째 아이에게 둘째 아이를 낳을 수 있습니다. 따라서 각 단계에서 하나는 아래로 이동 할 수 있습니다 (끝에 (1) 추가) 또는 오른쪽 이동 (마지막 숫자에 하나를 추가) (루트를 제외하고, 이는 추가만 내려 갈 수 있습니다), 이는 무한 이진 트리와 위의 번호 매기기 사이의 대응을 보여줍니다; 항목의 합 (마이너스 하나)는 무한 바이너리 트리에서 깊이 n에서 2n-1 노드에 동의 루트에서 거리에 해당 ( 2 바이너리에 해당). 깊이 우선 순서로, 우리는 항상 우리가 할 수있는 루트 노드에서 가장 멀리 떨어진 노드를 방문하려고 시도하지만, 주의와 함께 우리가 이미 방문 한 노드의 자식이어야합니다. 그래프에 대한 깊이 우선 검색과 달리 트리에 주기가 포함될 수 없으므로 방문한 모든 노드를 기억할 필요가 없습니다. 예약 주문은 이것의 특별한 경우입니다. 자세한 내용은 깊이 우선 검색을 참조하십시오. n에 자식이 없는 경우 트리에서 n만 제거하면 됩니다.

일반 정렬 트리와 이진 트리 사이에는 일대일 매핑이 있으며, 특히 Lisp는 일반 정렬 된 트리를 이진 트리로 나타내는 데 사용됩니다. 일반 정렬 된 트리를 이진 트리로 변환하려면 왼쪽 자식 오른쪽 형제 방식으로 일반 트리를 나타내기만 하면 됩니다. 이 표현의 결과는 다른 관점에서 볼 경우 자동으로 이진 트리가 됩니다. 정렬된 트리의 각 노드 N은 이진 트리의 노드 N`에 해당합니다. N`의 왼쪽 자식은 N의 첫 번째 자식에 해당하는 노드이고, N의 오른쪽 자식은 N의 다음 형제 — 대응하는 노드, 즉 N의 부모의 자식 들 사이에서 다음 노드입니다. 일반 순서 트리의 이진 트리 표현을 왼쪽 자식 오른쪽 형제 이진 트리(LCRS 트리) 또는 이중 체인 트리 또는 Filial-Heir 체인이라고도 합니다. 빨간색-검은색 트리 삽입 뒤에 동일한 개념이 여기에 적용됩니다. 빨간색-검은색 트리에서 노드를 제거하면 BST 삭제 프로시저를 사용한 다음 O(log n)의 빨간색-검은색 트리 속성을 복원합니다.

삭제 프로세스의 총 실행 시간은 O(log n) 시간이 소요되며, 이 시간은 기본 작업에 대한 복잡성 요구 사항을 충족합니다. HTML에서 DOM(문서 개체 모델)은 트리로 작동합니다. 노드는 다른 두 노드 사이에 이진 트리에 삽입하거나 리프 노드 후에 추가할 수 있습니다. 이진 트리에서 삽입되는 노드는 자식으로 지정됩니다. 위의 모든 구현에서는 재귀에 대한 호출 스택인 트리의 높이에 비례하는 스택 공간과 반복적 스택에 대한 상위 스택이 필요합니다. 균형이 잘 맞지 않은 나무에서는 상당한 시간이 될 수 있습니다. 반복 구현을 통해 각 노드에서 상위 포인터를 유지 하거나 트리(다음 섹션)를 스레딩하여 스택 요구 사항을 제거할 수 있습니다.

This entry was posted in Uncategorized. Bookmark the permalink. Both comments and trackbacks are currently closed.
  • Get a Quote
  • Request a Call Back

    Enter your details and we will call you back!
  • We deliver…

    • Fully A-Rated Inhouse
    • Special Q-Lon Sealing Gaskets
    • Heat Retaining Glass
    • Most Competitive Prices
    • 10 Day delivery
    • Expert Fitting
    • Same Day Aftercare
    • Largest Range of Colours
    • Best Technical Advice
    • No Deposit