티스토리 뷰

컴퓨터공학

[자료구조] 이진트리

walk_through_me 2019. 10. 14. 15:34

 

트리

나무 형태를 뒤집은 것과 같은 형태의 자료구조

이미지 출처 : Wikipedia

  • 루트 : 최상단 노드
  • 리프 : 가장 끝 노드 
  • 길이(length): 출발 노드에서 목적지 노드까지 거쳐야하는 가지 수
  • 높이(height): 루트노드에서 가장 깊은 노드까지의 길이
  • 부모 - 자식관계를 가지며, 같은 부모면 형제노드라고함

 

이진 트리(Binary tree)

최대 2개의 자식을 가질 수 있는 트리

  • 포화 이진 트리(Full Binary Tree) : 리프노드를 제외한 모든 노드가 두 자식을 가지고 있는 트리
  • 완전 이진 트리(Complete Binary Tree) : 모든 노드가 왼쪽 자식부터 차근차근 채워진 트리
  • 높이 균형 트리(Height Binary Tree) <-> 편향트리 : 왼쪽 자식 트리와 오른쪽 자식 트리의 높이가 1이상 차이나지 않는 트리
  • 많은 양의 노드를 낮은 높이에서 관리할 수 있어서 데이터 활용의 효율성이 높아짐
  • 데이터 저장, 탐색 등의 다양한 목적에서 활용

 

이진 트리 구현

포인터를 이용하여 구현하면 효과적으로 데이터 관리 가능

 

이진트리의 순회

  1. 전위 순회 : 자기 자신 출력 → 왼쪽 자식 방문 → 오른쪽 자식 방문
  2. 중위 순회 : 왼쪽 자식 방문 → 자기 자신 출력 → 오른쪽 자식 방문
  3. 후위 순회 : 왼쪽 자식 방문 → 오른쪽 자식 방문→ 자기 자신 출력

 

 

 

 

 

참고 | Wikipedia, Fast campus 컴퓨터 공학 전공 필수

'컴퓨터공학' 카테고리의 다른 글

[자료구조] 그래프  (0) 2019.10.14
[자료구조] 우선순위 큐  (0) 2019.10.14
[자료구조] 순차탐색과 이진탐색  (0) 2019.10.14
[자료구조] 기수정렬  (0) 2019.10.11
[자료구조] 계수정렬  (0) 2019.10.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함