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