이번 시간에는 연결 리스트의 종류를 살펴보겠습니다. 연걸 리스트는 각 노드가 한 줄로 연결되어 있는 구조이지만 종류마다 차이가 있습니다.
(1) 단순 연결 리스트 (Linked List)
- 연결선의 방향이 단방향이고 맨 마지막 노드가 NULL 값을 가리킵니다.
- 장점
- 구현하기 쉽고 구조도 간단합니다.
- 단점
- 이전 노드에 접근할 수 없으므로 접근성이 떨어집니다.
- 맨 마지막 노드가 NULL 값을 가리키므로 NULL 포인터 에러가 발생할 수 있습니다.
(2) 원형 연결 리스트 (Circular Linked List)
- 연결선의 방향이 단방향이고 맨 마지막 노드가 맨 처음 노드를 가리킵니다. 따라서 연결된 형태가 원형이 되므로 '원형' 이라고 부르는 것입니다.
- 장점
- 구현하기 쉽고 구조도 간단합니다.
- 맨 마지막 노드가 NULL 값이 아닌 맨 처음 노드를 가리키므로 NULL 포인터 에러가 발생할 일이 없습니다.
- 단점
- 이전 노드에 접근할 수 없으므로 접근성이 떨어집니다.
(3) 이중 연결 리스트 (Double Linked List)
- 연결선의 방향이 양방향이고 양 끝의 노드가 각각 NULL 값을 가리킵니다.
- 장점
- 이전 노드에 접근할 수 있으므로 접근성이 높습니다.
- 단점
- 구현하기 어렵고 구조도 복잡합니다.
- 양 끝의 노드가 각각 NULL 값을 가리키므로 NULL 포인터 에러가 발생할 수 있습니다.
(4) 이중 원형 연결 리스트 (Double Circular Linked List)
- 연결선의 방향이 양방향이고 양 끝의 노드가 서로서로를 가리킵니다. 따라서 연결된 형태가 원형이 되므로 '원형' 이라고 부르는 것입니다.
- 장점
- 이전 노드에 접근할 수 있으므로 접근성이 높습니다.
- 양 끝의 노드가 NULL 값이 아닌 서로서로를 가리키므로 NULL 포인터 에러가 발생할 일이 없습니다.
- 단점
- 구현하기 어렵고 구조도 복잡합니다.
'IT강의 > 알고리즘' 카테고리의 다른 글
다익스트라 알고리즘 (2) - 소스 코드 (0) | 2021.08.14 |
---|---|
트리와 그래프의 차이 (0) | 2021.07.28 |
스택과 큐의 차이 (0) | 2021.07.28 |
다익스트라 알고리즘 (1) - 동작 원리 (0) | 2021.07.28 |
크루스칼 알고리즘 (1) - 동작 원리 (0) | 2021.07.28 |