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
- MariaDB
- BinarySearchTree
- Queue
- algorithm
- Stack
- 이진탐색트리
- datastructure
- BinaryTree
- 그래프
- ADT
- 큐
- spring
- Recursion
- web
- aws
- 웹서버
- Tomcat
- C언어
- 버블정렬
- ec2
- 리스트
- C
- heap
- 트리
- 알고리즘
- bubblesort
- java
- data structure
- graph
- 자료구조
Archives
- Today
- Total
Min'sLog
(자료구조) 트리의 정의 및 용어 정리 - Tree(1) 본문
● 트리란?
트리는 계층적 관계(Hierarchical Relationship)를 표현하는 자료구조이다. (비선형 자료구조)
○ 트리의 구조
1. 트리는 하나의 루트 노드를 갖는다.
2. 루트 노드는 0개 이상의 자식 노드를 갖고 있다.
3. 그 자식 노드 또한 0개 이상의 자식 노드를 갖고 있고, 이는 반복적으로 정의된다.
※ 노드(node)들과 노드들을 연결하는 간선(edge)들로 구성되어 있다.
- 트리에는 사이클(cycle)이 존재할 수 없다.
- 노드들은 특정 순서로 나열될 수도 있고 그럴 수 없을 수도 있다.
- 각 노드는 부모 노드로의 연결이 있을 수도 있고 없을 수도 있다....
- 각노드는 어떤 자료형으로도 표현 가능하다.
- 트리는 단순한 데이터의 저장을 넘어서 데이터의 표현을 위한 도구이다.
● 트리 관련 용어의 소개
1. 노드 : node
- 트리의 구성요소에 해당하는 데이터를 담은 요소
2. 간선 : edge
- 노드와 노드를 연결하는 연결선
3. 루트 노드 : root
- 트리 구조에서 최상위에 존재하는 A와 같은 노드
4. 단말 노드 : terminal node
- 아래로 또 다른 노드가 연결되어 있지 않은 노드
5. 내부 노드 : internal node
- 단말 노드를 제외한 모든 노드
(연결리스트의 노드와 의미적으로 약간 다름)
※ 트리의 노드간 관계
1.부모노드(parent) (상위)
2.자식노드(child) (하위)
3.형제노드(sibling) (동일)
● 서브 트리의 이해
서브 트리 역시 서브트리로 이뤄져 있으며, 그 서브 트리 역시 또 다른 서브 트리로 이뤄져 있다. (구조가 재귀적)
하나의 트리를 구성하는 왼쪽과 오른쪽의 작은 트리를 가리켜 서브트리라 한다.
서브트리 역시 또 다른 서브 트리를 갖는다.
트리에 대한 정의 및 기초적인 용어 / 개념등을 포스팅 하였고, 추후 트리의 구현과 순회에 대한 포스팅을 하도록 하겠다!
'DataStructure' 카테고리의 다른 글
(자료구조) 이진트리의 순회(Traversal) Tree(3) (0) | 2024.05.17 |
---|---|
(자료구조) 이진트리(BinaryTree) 개념 및 구현 Tree(2) (0) | 2024.05.14 |
(자료구조) 덱의 ADT와 구현 (0) | 2024.05.10 |
(자료구조) 리스트 기반 큐 구현 -2 (0) | 2024.05.08 |
(자료구조) Queue 의 정의와 ADT 및 배열 기반 구현 -1 (0) | 2024.05.06 |