2018년 11월 19일
다중 연결 리스트 (Multi-Linked list)
1. 다중 포인터, 다중 연결 리스트 (Multi-Linked list)
- 양방향 및 다중 방향 검색이 가능하도록 선행 노드 포인터 크기를 유연하게 변경 가능한 연결 리스트
2. 다중 연결 리스트의 구성도 및 삽입/삭제 기법
(1) 다중 연결 리스트의 구성도
![]() |
- 연결 노드 간 양방향 탐색을 통해 검색속도 향상 가능
(2) 다중 연결 리스트의 노드 삽입/삭제 기법
| 구분 | 구성도 | 설명 |
|---|---|---|
삽입 연산 | ![]() | – 선행노드 Next → 삽입노드 – 후속노드 Prev → 삽입노드 |
삭제 연산 | ![]() | – 제거노드 Prev → 후속노드 Prev – 제거노드 Next → 선행노드 Next |
- 다중 연결 리스트는 트리 순회 등 검색/삽입/삭제 연산에 효율적이지만 단순 연결 리스트에 비해 구현 어려움
3. 다중 연결 리스트의 구현 소스코드 사례
typedef struct node // 노드 자료구조 선언 { vector(struct node *) pointers; // 하나의 노드에 다중 포인터 선언 void* data; // 노드의 데이터 구조 } node; |
[참고]
- Wikiperdia, Linked list


