사이클이 없는 연결 그래프
루트
리프노드
지름(높이)
트리의 경로 중 가장 긴 경로
조상
자기 자신을 포함하여 상위에 있는 노드들
자손
자기 자신을 포함하여 하위에 있는 노드들
이진 트리
자식을 최대 2개만 가지고 있는 트리
부모 노드가 n인 경우 자식노드는 2n, 2n+1
힙, 세그먼트 트리 등에 사용
완전 이진 트리
리프노드를 제외한 노드의 자식의 수는 모두 2인 트리
리프노드의 자식 수는 0
모든 리프노드의 depth(h)가 동일
노드수 = 2^h-1개
그래프 저장 방법과 동일
또는 부모만 저장하는 방법 사용
그래프 탐색 방법과 동일
DFS는 루트를 언제 방문하는지에 따라 3가지로 나뉨(재귀 호출 시점 차이)
완전 이진 트리의 일종으로 최댓값이나 최솟값을 빠르게 찾기 위한 자료구조
삽입, 삭제 시 O(LogN)의 시간이 걸림
최대 힙(max heap)
부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리
부모 노드 값 >= 자식 노드 값
최소 힙(min heap)
부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진 트리
부모 노드 값 <= 자식 노드 값
현재 우선순위 큐 안에서 우선순위가 가장 높은 데이터가 먼저 삭제 됨
이진 트리이면서, 다음과 같은 성질을 가지고 있음