cs/자료구조

Tree

Nytro 2024. 12. 1. 17:41

용어

Tree: 1개 이상의 노드들의 유한 집합

Disjoint sets(부분 집합): 모든 트리는 노드 수 >= 0인 부분집합을 갖는다.

노드 레벨: 루트는 레벨 1, 자식 레벨 = 부모 레벨 + 1

노드의 차수(degree): 노드의 서브트리 수

리프 노드(터미널 노드): 차수가 0인 노드(끝 노드)

비단말 노드(논 터미널 노드): 차수가 0이 아닌 노드

노드 X의 자식: 노드 X의 서브트리의 루트

형제(sibling): 부모가 같은 자식들

트리의 차수: max{노드의 차수}

조상: 속한 모든 subtree의 루트

트리의 깊이: max{노드 레벨}

 

Tree

트리의 리스트 표현

트리의 리스트 표현

 

>>공간 낭비가 많음

 

트리의 리스트 표현 2
이진트리화

왼쪽 - 자식, 오른쪽 - 형제로 하여 이진 트리로 표현