Linked List 구조 및 원리

 안녕하세요. 저번의 연장으로 이번에는 Linked List의 구조와 원리에 대해서 배우겠습니다.



 커다란 창고에서 제가 바나나가 들어있는 상자를 찾고 있습니다. 이때 창고는 크게 4구역으로 나눠져 있습니다. A,B,C,D구역이고 저는 일단 A구역에 무슨 과일이 있는지 확인하기로 하고 A구역으로 갑니다.





 이때 A구역에 아쉽게 바나나가 아닌 사과가 있습니다. 이때 이 사과를 head라고 합니다. 머리 부분이라는 것입니다.




 또한 사과상자에 노란 포스트잇이 붙어있는데 이것은 다음 어느 구역으로 가야하는지 적혀져 있습니다. 이 노랑 포스트잇은 프로그래밍을 할때 다음 값으로 갈수 있도록 하는 주소역할을 합니다.



 제가 이제 D구역으로 갔는데 망고박스 과일이 있고 포스트잇에는 B구역 이라고 적혀져 있습니다.



 제가 B구역에 가도 바나나를 찾지 못하고 토마토와 C구역으로 가라는 포스트잇을 읽었습니다. 그래서 C구역으로 갔습니다.



 이제야 C구역에서 바나나 박스를 찾았습니다. 그런데 포스트잇 에는 null이라고 적혀져 있습니다. 이는 마지막 구역이라는 뜻입니다. 그런 의미로 마지막을 tail이라고 부릅니다. 


이 처럼 특정 데이터를 찾을때 데이터(과일) 옆의 주소(포스트잇)를 따라가는 것을 Linked List이라고 합니다. 순차적으로 찾을수 있지만 문제는 100개의 구역이 있으면 뛰어다니면서 찾아다니기가 어렵다는 것입니다. 이렇기 때문에 여러가지 자료구조 방법이 있습니다. 


다음글 : Hash Table구조와 원리

댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)