일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 해리스 코너 검출
- 김성훈 교수님 PyTorch
- 가우시안 필터링
- MFC 프로그래밍
- 모두의 딥러닝
- c++
- 영상처리
- object detection
- 딥러닝 공부
- pytorch zero to all
- tensorflow 예제
- 케라스 정리
- c++공부
- Pytorch Lecture
- 미디언 필터링
- 팀프로젝트
- 컴퓨터 비전
- 파이토치 강의 정리
- TensorFlow
- 파이토치
- c언어
- c언어 정리
- 딥러닝 스터디
- 모두의 딥러닝 예제
- 딥러닝
- 골빈해커
- C언어 공부
- matlab 영상처리
- pytorch
- 파이토치 김성훈 교수님 강의 정리
Archives
- Today
- Total
ComputerVision Jack
자료구조 - Chapter 08 본문
반응형
트리(Tree)
트리
계층적인 관계(Hierarchical Relationship)을 표현하는 자료구조
- 노드(Node) : 트리의 구성 요서에 해당하는 A, B, C, D...같은 요소
- 간선(Edge) : 노드와 노드를 연결하는 연결선
- 루트 노드(root Node) : 트리 구조에서 최 상위에 존재하는 A와 같은 노드
- 단말 노드(terminal Node) : 아래로 다른 노드가 연결 되어 있지 않은 H, I, J, E, F, G 노드
- 내부 노드(internal Node) : 단말 노드를 제외한 모든 노드
이진트리(Binary tree)와 서브 트리(Sub tree)
서브 트리
큰 트리에 속한 작은 트리를 지칭한다.
이진 트리
루트 노드를 중심으로 두 개의 서브 트리로 나누어진다.
나뉘어진 두 서브 트리도 모두 이진 트리여야 한다.
위 조건 2개를 만족하면 이진트리가 된다. 이진 트리의 존재 자체가 재귀적이기 때문에 이렇게 정의한다.
포화 이진 트리(Full Binary tree)와 완전 이진 트리(Complete Binary Tree)
- 레벨 (level) : 트리의 각 층
- 높이(height) : 트리의 최고 레벨
포화 이진 트리
모든 레벨이 꽉 찬 이진트리를 지칭한다.
완전 이진트리
포화 이진 트리 처럼 모든 레벨이 꽉 찬 상태는 아니지만 빈 틈없이 노드가 채워진 이진트리
이진 트리의 구현
이진트리와 관련된 일부 연산은 재귀 호출의 형태를 보인다.
또한 아진 트리 역시 배열 기반, 연결 리스트 기반으로 구현이 가능하다.
예제 : 연결 리스트로 이진 트리 구현
예제 : 이진트리 순회
순회 방법
- 전위 순회(Preorder Traversal) : 루트 노드 먼저
- 중위 순회(Inorder Traversal) : 루트 노드 중간
- 후위 순회(Postorder Traversal) : 루트 노드 마지막
예제 : 트리로 수식 계산
반응형
'Programming Language > Data Structure' 카테고리의 다른 글
자료구조 - Chapter 10 (0) | 2020.03.06 |
---|---|
자료구조 - Chapter 09 (0) | 2020.03.05 |
자료 구조 - Chapter 07 (0) | 2020.03.03 |
자료 구조 - Chpater 06 (0) | 2020.03.02 |
자료구조 - Chapter 05 (0) | 2020.02.28 |
Comments