Tree

마데슾 : My Dev Space·2019년 12월 10일
0

tree

Tree의 예시로 컴퓨터의 directory 구조를 생각해 볼 수 있다. 어떠한 프로그램, 사진, 영상 등을 찾을 때 우리는 폴더에서 폴더로 들어가 찾는다. 이렇게 계층적인 구조를 갖는 것이 트리라 할 수 있다.

property

image.png
출처 : https://monsieursongsong.tistory.com/6

  • Root Node : 트리 구조에서 최상위에 존재하는 A와 같은 노드
  • Node : 트리의 구성요소에 해당하는 A,B,C,D,E,F,G,H,I,J와 같은 요소
  • Edge : 노드와 노드를 연결하는 연결설
  • Terminal Node(Leaf Node) : 밑으로 또 다른 노드가 연결되어 있지 않은 H,I,J,F,G와 같은 노드
  • Sub-Tree : 큰 트리(전체)에 속하는 작은 트리
  • Level : 트리에서 각 층별로 숫자를 매김
  • Height : 트리의 최고 레벨 (3)
  • 이진트리 : "이진 트리가 되려면, 루트 노드를 중심으로 둘로 나뉘는 두 개의서브트리도 이진 트리이어야 하고, 그 서브 트리의 모든 서브 트리도 이진트리이어야 한다."
  • 포화 이진 트리(Full Binary Tree) : 모든 레벨이 꽉 찬 이진 트리
  • 완전 이진 트리(Complete Binart Tree) : 포화 이진 트리처럼 모든 레벨이 꽉 찬 상태는 아니지만, 차곡차곡 빈 틈 없이 노드가 채워진 이진 트리

이진트리 구현 방법

image.png

  • 하나의 노드가 가지고 있어야 되는 정보
    • 왼쪽자식, 오른쪽자식의 정보를 담는 변수
    • 자신이 가지는 데이터

💁‍♀️ 참고블로그

profile
👩🏻‍💻 🚀

0개의 댓글