Algorithm/이론

[자료구조]트리/Binary Tree의 표현

SweetDev 2019. 5. 26. 16:47

Array로 표현하기

이렇게 생긴 트리를 Array로 표현하려고 하면, 

 

 

요런식으로 표현해서 넣는다고 한다!

 

왜 0번에는 아무것도 안넣었을까?? 나중에 쓰나!?

궁금하지만 역시 아직 모르니까 pass...

 

Array[i]번째에 있는 Node는, 

걔의 left child는 Array[2*i]에, right child는 Array[2*i + 1]에, Parent는 Array[(i/2)의 내림] 에 있다고 한다

 

i에 6을 넣어서 확인해보면, 6번째 칸에는 F가 있고 걔의 left child는 I, right child는 없음, parent는 C인데 과연 맞을까?!

 

12번째 칸 = I

13번째 칸 = 없음

3번째 칸 = C

다 맞다 ㅎㅎ

 

 

 

 

Node로 표현하기

아까 그 그래프를 Node로 표현하면, 

Node 구조를 

 

이렇게 정의해보자 :)