뇌를 자극하는 알고리즘
국내도서>컴퓨터/인터넷
저자 : 박상현
출판 : 한빛미디어 2009.09.15
상세보기


이 글은 위의 도서를 참고하였음.


위의 이미지는 아래의 링크에서 가져옴.
http://www.csc.liv.ac.uk/~ped/teachadmin/COMP102/Lecture5.html

그림을 그리는 소질은 없고, 설명을 하기 위해서 그림은 필요하고, 하지만 그림까지 책에서 가져오게 되버리면 문제가 커질 가능성이 농후하기 때문에 이미지는 썩 좋지는 않아도 이해하는데 도움이 된다는 것...


링크드 리스트는 말 그대로 리스트이되, 서로 링크가 되어있는 리스트이다. 직역하자면 연결된 리스트가 된다. 우선 위의 이미지를 보고 설명을 하자면, Datum 이라는 공간에 데이터가 들어가는 것이고 Link라고 적혀있는 공간에는 다음 노드에 대한 포인터. 즉, 주소값이 들어가게 된다.

우선 노드라는 단어를 먼저 정의하고 넘어가야 하는데, 만약 서로 연결되는 것을 선으로 표현하고, 실제 존재하는 것(위의 이미지에서는 Datum과 Link)은 하나의 점이라고 생각을 합시다. 지금 이렇게 설명을 하는 이유는 전기적인 회로, 혹은 통신에서 하나의 노드, 그리고 링크라는 개념이 그러한 개념이기 때문이다. 무슨 이야기냐면, 영어에서 한글로 번역을 하다보면 정확하게 한가지 의미로 번역할 수 있는 것이 아니라, 대략적으로 이러한 느낌의 것을 영어로 이렇게 이야기를 하는구나, 라고 생각하고 넘어가는 것이 오히려 편리한 경우가 종종 있어서 적고 넘어가는 것이다.

위의 이미지와 책의 이미지는 다소 다르지만, 시작하는 노드를 헤드라고 이야기하고, 가장 마지막 노드를 테일이라고 이야기를 한다.



- 링크드 리스트의 장점
* 새로운 노드의 추가, 삽입, 삭제가 쉽고 빠르다.
- 링크드 리스트의 단점
* 다음 링크를 가리키는 포인터가 4 Byte씩 잡아먹는다.
* 첫 노드부터 마지막 노드까지 순서대로 검색을 하기 때문에, 최악의 경우 배열보다 자료를 검색하는데 들어가는 시간이 더 걸릴 수 있다.

저작자 표시 비영리 변경 금지
신고

+ Recent posts