Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Open Closed Principle
- stack메모리
- 스택
- 단일 책임 원칙
- Native Method Stack
- 개방폐쇄원칙
- 스택메모리
- Java
- solid
- 실행 엔진
- 자료구조
- Runtime data Area
- pc register
- 객체지향
- 의존성 역전 원칙
- JVM
- Class Loader
- Data Structure
- CS
- Heap
- Execution Engine
- 자바 heap
- Stack
- Single Responsibillity Principle
- 단일책임원칙
- Spring SOLID
- 자바
- 객체지향 설계 5원칙
- Spring
- 개방-폐쇄 원칙
Archives
- Today
- Total
Juuunew 살아남기
[CS] 자료구조 - 트리 (Tree) 본문
트리는 비선형 자료구조 중 하나로 노드로 이루어져있으며 데이터들이 계층적으로 연결되어 저장된다.
또한 트리 내에 다른 하위 트리가 있고 그 하위 트리 안에는 또 다른 하위 트리가 있는 재귀적 자료구조 이기도 하다.
트리 구조에서 사용되는 기본 용어
노드 (Node)
- 트리를 구성하고 있는 기본 요소
- 루트 노드 : 트리에서 부모가 없는 최상위 노드, 트리의 시작점
- 부모 노드 : 루트 노드 방향으로 직접 연결된 노드
- 자식 노드 : 루트 노드 반대 방향으로 직접 연결된 노드
- 형제 노드 : 같은 부모 노드를 갖는 노드들
- 리프 노드 : 루트 노드를 제외하고 차수가 1인 정점. 자식이 없는 노드
간선 (Edge)
- 노드와 노드 간의 연결선
레벨 (level)
- 루트에서 기준 노드까지 연결된 간선 수의 합
깊이 (depth)
- 루트에서 기준 노드까지의 간선 수
높이 (height)
- 기준 노드에서 리프 노드까지 가장 긴 경로의 간선 수
차수 (degree)
- 각 노드의 자식 노드의 개수
트리의 차수 (degree of tree)
- 트리의 최대 차수
너비 (width)
- 가장 많은 노드를 갖고 있는 레벨의 크기
이진트리 - Binary Tree
이진트리는 각 노드가 최대 두 개의 자식 노드를 갖는 트리를 말한다. 각 노드는 자식 노드가 없거나, 한 개 또는 두 개 만을 갖는다.
이진트리에는 다음과 같은 종류가 있다.
포화 이진 트리 (Full binary tree)
- 모든 레벨의 노드가 자식 노드를 가지고 있는 이진 트리
- 모든 리프 노드의 높이가 같다.
- 트리의 노드 개수가 2^h-1개 여야 한다. (h = 트리의 높이)
완전 이진 트리 (Complete binary tree)
- 마지막 레벨을 제외하고 모든 레벨이 완전히 채워져 있다.
- 노드가 왼쪽에서 오른쪽으로 순차적으로 채워져야 한다.
편향 이진 트리 (Skewed binary tree)
- 부모 노드의 왼쪽이나 오른쪽 한 곳만 노드가 존재하는 트리
- 같은 높이의 이진 트리 중에서 최소 개수의 노드 개수를 가진다.
'Computer Science > Data Structure' 카테고리의 다른 글
[CS] 자료구조 - 이진탐색트리 (Binary Search Tree) (3) | 2023.03.20 |
---|---|
[CS] 자료구조 - 스택 Stack (0) | 2023.02.19 |
[CS] 자료구조 - 큐 Queue (0) | 2023.02.15 |
[CS] 자료구조 - List (0) | 2023.02.09 |
[CS] 자료구조 - 배열 (Array) (0) | 2023.02.06 |