다중 연결 리스트 (Multi-Linked list)

I. 다중 포인터, 다중 연결 리스트(Multi-Linked list)

양방향 및 다중 방향 검색이 가능하도록 선행 노드 포인터 크기를 유연하게 변경 가능한 연결 리스트

 

II. 다중 연결 리스트의 구성도 및 삽입/삭제 기법

다중 연결 리스트의 구성도

연결 노드 간 양방향 탐색을 통해 검색속도 향상 가능

다중 연결 리스트의 노드 삽입/삭제 기법

구분구성도설명
삽입

연산

– 선행노드 Next → 삽입노드

– 후속노드 Prev → 삽입노드

삭제

연산

– 제거노드 Prev

→ 후속노드 Prev

– 제거노드 Next

→ 선행노드 Next

  • 다중 연결 리스트는 검색/삽입/삭제 연산에 효율적이지만 단순 연결 리스트에 비해 구현 어려움

III. 다중 연결 리스트 구현 소스코드 사례

typedef struct node // 노드 자료구조 선언

{

vector(struct node *) pointers;

// 하나의 노드에 다중 포인터 선언

void* data; // 노드의 데이터 구조

} node;

 

 

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^