Open bugoverdose opened 2 years ago
트리
그래프
숲
결과적으로 V - 1 = E라는 공식이 성립함.
V - 1 = E
루트 노드 - 브랜치 노드(내부 노드) - 리프 노드(외부 노드/단말 노드)
부모 노드(parent): 자녀 노드를 지니는 노드.
자녀 노드(child): 모든 노드는 0개 이상의 자녀 노드를 지님.
형제 노드(sibling): 같은 부모를 공유하는 노드들. (단순히 같은 레벨은 아님)
조상 노드(ancestor): 부모 노드를 따라 루트 노드까지 올라가며 만날 수 있는 모든 노드들.
자손 노드(descendant): 모든 자녀 노드들을 따라 내려가며 만날 수 있는 모든 노드들. (한줄로 내려가는게 아니라 서브트리를 구성)
노드의 높이: 해당 노드로부터 가장 먼 리프 노드까지의 거리(간선의 개수).
노드의 높이
높이(height)
노드의 깊이(depth): 해당 노드로부터 루트 노드까지 도달하는 데 걸리는 간선의 개수(최단 거리).
노드의 깊이(depth)
노드의 차수(degree): 노드의 자녀 노드 개수.
서브트리: 트리 내의 부분 집합. 그 자체로 새로운 트리를 구성. 특정 노드의 자녀노드들은 전부 각자 재귀적으로 서브트리를 구성함
서브트리
경로(path): 한 노드에서 다른 노드에 도달할 때까지의 노드들의 시퀀스
경로(path)
두 노드 사이의 거리(distance): 두 노드 사이의 최단 경로의 간선 수
두 노드 사이의 거리(distance)
레벨: 깊이와 동의어. 해당 노드와 루트 노드 사이의 경로에서 간선의 개수
레벨
깊이
width: 같은 레벨에 속한 노드의 개수
width
트리의 크기(size): 트리를 구성하는 모든 노드의 개수
자녀 노드 개수가 최대 2개인 트리. 차수가 2 이하.
full + complete = perfect
full
complete
perfect
정이진 트리(full): 모든 자식 노드가 없거나, 2개인 이진트리. 모든 노드의 차수가 0 혹은 2.
완전 이진 트리(complete): 왼쪽에서부터 차곡차곡 채워져 있는 이진트리.
마지막 레벨을 제외하고 모든 레벨에서 노드가 완전히 채워짐.
마지막 레벨도 왼쪽부터 빠짐없이 채워짐. (complete해가는 과정)
heap 자료구조가 내부적으로 완전 이진 트리로 구현됨.
포화 이진 트리(perfect): 모든 레벨에서 노드가 빠짐없이 채워져 있는 이진 트리
정이진 트리 + 완전 이진 트리.
변질 이진 트리(degenerate 혹은 pathological)
degenerate
pathological
균형 이진 트리(balanced)
balanced
트리
트리
는그래프
의 일종.숲
은 트리로 이루어진 집합.트리의 성질
결과적으로
V - 1 = E
라는 공식이 성립함.트리의 구성
루트 노드 - 브랜치 노드(내부 노드) - 리프 노드(외부 노드/단말 노드)
노드의 세부 종류
부모 노드(parent): 자녀 노드를 지니는 노드.
자녀 노드(child): 모든 노드는 0개 이상의 자녀 노드를 지님.
형제 노드(sibling): 같은 부모를 공유하는 노드들. (단순히 같은 레벨은 아님)
조상 노드(ancestor): 부모 노드를 따라 루트 노드까지 올라가며 만날 수 있는 모든 노드들.
자손 노드(descendant): 모든 자녀 노드들을 따라 내려가며 만날 수 있는 모든 노드들. (한줄로 내려가는게 아니라 서브트리를 구성)
주요 용어
노드의 높이
: 해당 노드로부터 가장 먼 리프 노드까지의 거리(간선의 개수).높이(height)
: 루트 노드의 높이. 루트 노드로부터 가장 먼 리프 노드까지의 거리(간선의 개수).노드의 깊이(depth)
: 해당 노드로부터 루트 노드까지 도달하는 데 걸리는 간선의 개수(최단 거리).노드의 차수(degree): 노드의 자녀 노드 개수.
서브트리
: 트리 내의 부분 집합. 그 자체로 새로운 트리를 구성. 특정 노드의 자녀노드들은 전부 각자 재귀적으로 서브트리를 구성함경로(path)
: 한 노드에서 다른 노드에 도달할 때까지의 노드들의 시퀀스두 노드 사이의 거리(distance)
: 두 노드 사이의 최단 경로의 간선 수레벨
:깊이
와 동의어. 해당 노드와 루트 노드 사이의 경로에서 간선의 개수width
: 같은 레벨에 속한 노드의 개수트리의 크기(size): 트리를 구성하는 모든 노드의 개수
이진트리(binary tree)
자녀 노드 개수가 최대 2개인 트리. 차수가 2 이하.
형태에 따른 이진트리의 종류
full
+complete
=perfect
정이진 트리(
full
): 모든 자식 노드가 없거나, 2개인 이진트리. 모든 노드의 차수가 0 혹은 2.완전 이진 트리(
complete
): 왼쪽에서부터 차곡차곡 채워져 있는 이진트리.마지막 레벨을 제외하고 모든 레벨에서 노드가 완전히 채워짐.
마지막 레벨도 왼쪽부터 빠짐없이 채워짐. (complete해가는 과정)
heap 자료구조가 내부적으로 완전 이진 트리로 구현됨.
포화 이진 트리(
perfect
): 모든 레벨에서 노드가 빠짐없이 채워져 있는 이진 트리정이진 트리 + 완전 이진 트리.
변질 이진 트리(
degenerate
혹은pathological
)균형 이진 트리(
balanced
)