최상의 답변
트리 데이터 구조에는 여러 유형이 있습니다. 그중 일부는
- 바이너리 트리 : 트리 구조에서 가장 기본적인 기본입니다. 각 노드는 최대 두 개의 자식을 가질 수 있습니다. 완벽한 바이너리 트리는 모든 내부 노드에 두 개의 자식 및 이있는 바이너리 트리입니다. 잎은 동일한 깊이 또는 동일한 레벨을 갖습니다. 전체 바이너리 트리 (때로는 적절한 [15] 또는 평면 이진 트리라고도 함) 트리의 모든 노드에 0 또는 2 개의 자식이있는 트리입니다. 완료 이진 트리 모든 레벨 (마지막 레벨 제외)이 완전히 채워지고 마지막 레벨의 모든 노드는 가능한 한 맨 왼쪽에 있습니다. 무한 완료 바이너리 트리, 모든 노드에는 2 개의 하위 항목이 있습니다.
- 바이너리 검색 트리 : BST는 특정 속성이있는 바이너리 트리입니다. 예를 들어, 주어진 노드의 왼쪽 자식은 주어진 노드보다 작은 값을 포함하고 오른쪽 자식은 주어진 노드보다 큰 노드를 포함합니다.
- AVL 트리 또는 높이 균형 이진 트리 : 왼쪽과 오른쪽 하위 트리의 높이 차이가 최대 1이 될 수있는 이진 트리의 변형입니다. 언제든지 둘 이상 차이가 나면 재조정이 수행됩니다. 이 속성을 복원하십시오. 조회, 삽입 및 삭제는 모두 평균 및 최악의 경우 모두 O (log n) 시간이 걸립니다. 여기서 n은 작업 전 트리의 노드 수입니다.
- Red-Black 트리 : AVL 트리와 유사한 이진 트리의 또 다른 변형으로 자체 균형 이진 검색 트리입니다. 이 트리에서 노드는 빨간색 또는 검은 색으로 표시됩니다.
- 스플레이 트리 : 스플레이 트리는 자체 조정 이진 검색 트리입니다. 최근에 액세스 한 요소는 다시 빠르게 액세스 할 수있는 추가 속성입니다. 이진 검색 트리의 모든 일반 작업은 splaying이라는 하나의 기본 작업과 결합됩니다. 특정 요소에 대해 트리를 분할하면 트리가 재 배열되어 요소가 트리의 루트에 배치됩니다.
- N-ary 트리 : 이 트리에서는 바이너리 트리의 제한이 제거되었습니다. 여기서 노드는 최대 n 개의 자식을 가질 수 있습니다. 이진 트리와 마찬가지로 전체, 완전 또는 완벽한 n- 항 트리가 될 수 있습니다. N-ary는 숲으로 알려진 시간입니다.
- Trie Structure : 컴퓨터 과학에서는 디지털 트리라고도하며 때로는 기수라고도하는 트리입니다. 트리 또는 접두사 트리 (접두사로 검색 할 수 있음)는 키가 일반적으로 문자열 인 동적 집합 또는 연관 배열을 저장하는 데 사용되는 정렬 된 트리 데이터 구조입니다. 노드의 모든 하위 항목에는 해당 노드와 관련된 문자열의 공통 접두사가 있으며 루트는 빈 문자열과 연결됩니다.
- 접미사 트리 : 시도와 접미사 트리는 밀접한 관련이 있습니다. 접미사 트리 (PAT 트리 또는 이전 형식에서 위치 트리라고도 함)는 주어진 텍스트의 모든 접미사를 키로 포함하고 텍스트의 위치를 값으로 포함하는 압축 된 트리입니다. 접미사 트리를 사용하면 많은 중요한 문자열 작업을 특히 빠르게 구현할 수 있습니다.
- 허프만 트리 : 허프만 트리는 압축에 널리 사용되는 빈도로 정렬 된 바이너리 트리입니다. 데이터. Huffman 트리는 발생 빈도에 따라 긴 텍스트에 짧은 코드 단어를 할당하도록 구성됩니다.
- 힙 구조 [제안 된대로 편집 ] : 힙 구조는 특정 순서 특성을 가진 널리 사용되는 또 다른 트리 구조입니다. 힙에는 최소 힙과 최대 힙의 두 가지 유형이 있습니다. 최소 힙에서 노드의 부모는 모든 자식의 값보다 작아야합니다. 마찬가지로 최대 힙에서 상위는 항상 모든 하위에 비해 더 큰 값을 갖습니다. 힙의 일반적인 구현 중 하나는 각 상위가 최대 2 개의 하위를 가질 수있는 바이너리 힙입니다.
기타 인기있는 트리 구조에는 B가 포함되지만 전부는 아닙니다. -Tree, B +-tree, R-Tree, Counted-B Tree, KD 트리 (또는 K- 차원 BST), 의사 결정 트리 (a n 항 트리 변형), Markel 트리, Fenwick 트리 (또는 바이너리 인덱스 트리), 범위 트리
답변
- 종속성 트리를 형성하여 코드로 템플릿.
이제 복잡한 사용 사례를 해결하기 위해 트리를 데이터 구조로 사용하는 방법을 자세히 설명하기 위해 5 분 동안 기다려주십시오.
시나리오를 설명하기 위해 토큰 기반 인증을 통해 API에서 데이터를 가져 오는 간단한 예를 들어 보겠습니다.