본문 바로가기

자료구조

[파이썬 | 자료구조] 5. 연결 리스트(Linked List)

5. 연결 리스트(Linked List)

img

Python에서 사용하는 List의 기본적인 구조는 Linked List이다

다른 C나 Java의 경우 기초 프로그래밍을 할 때 배열을 이용하게 되지만 파이썬에서는 배열이 없는 이유가 Linked List를 기본적으로 지원하기 때문이다

연결 리스트라고 하는 Linked List는 배열과 달리 내부 메모리 주소적으로 봤을때 연속된 주소가 아니라, 서로 떨어진 데이터를 주소를 연결하여 관리하는 데이터 구조이다.

따라서 미리 데이터 공간을 할당할 필요가 없다는 장점이 있지만

데이터 검색효율이 안좋으며, 데이터 삭제시 양쪽의 node를 이어주는 등의 구현에서 불편함 등의 단점이 있다.

 

Single Linked List

Double LInked List

Single Linked List에서 서로의 노드를 양쪽 모두 연결한다.

Single과는 달리 양쪽으로 탐색이 가능하다는 장점이 있다.