본문 바로가기

IT/알고리즘

[알고리즘 자료구조] 연결 리스트 (Linked List) 1. 연결 리스트란?

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요



이번에는 자료구조중 하나인 리스트를 포스팅 해보도록 하겠습니다.



일단 리스트에 대해서 알아보기 전, 자료구조라는 것을 대략적으로 설명해드리도록 하겠습니다.



데이터와 데이터를 체계적으로 구조화 한 것이라고 설명할수 있는데요.



예를들어 순차적으로 데이터를 구조화시킨다면 리스트라 하는것이고 데이터를 쌓듯이 구조화 시키면 스택이라 부르는 것입니

다.





그럼 그 연결 리스트란 무엇이냐



연결 리스트는 노드(node)와 링크(link)를 구조화 시킨 것을 의미합니다.



여기서 노드(node)는 데이터를 담고있는 그릇이라 생각하시면 되고



링크(link)는 리스트의 순서를 유지할 수 있게 해주는 연결고리라 생각하시면 됩니다.




자 그럼 여기서 생각나는 하나의 의문점이 있는데요



연결 리스트와 배열의 차이점이 대체 무엇이냐는 것이죠




연결 리스트와 배열의 공통점은 순차적으로 데이터를 저장하는 것인데



그럼 차이점은 대체 무엇일까요?



그 차이점은 배열은 배열을 선언할 때 데이터를 저장할 공간을 미리 저장해야하지만



리스트는 계속계속 동적으로 줄였다 늘였다 할 수 있습니다.




그렇기 때문에 배열은 사용하다 실수로 잉여 메모리가 생긴다면 잉여 메모리를 낭비할 수밖에 없게되지만



리스트는 잉여 메모리가 생기지 않고 필요할 때 마다 줄였다 늘였다 하므로 잉여 메모리가 발생하지 않아 절약적으로 사용 가능합니다.




다음 포스팅은 리스트의 한 종류인 단순 연결 리스트(Simple Linked List)의 구조를 살펴보도록 하겠습니다.




글이 도움이 되셧다면 버튼 한번 누르시고 덧글 남겨주세요. ^^