기술 면접 스터디 중 싱글, 더블, 원형 연결 리스트의 개념이 애매해서 정리해는 시간을 갖는다!



| 자료구조 | 포인터 개수 | 탐색 방향 | 장점 | 단점 | 대표 활용 |
|---|---|---|---|---|---|
| 싱글 링크드 리스트 | 1개 (next) | 한 방향만 | 구현 간단, 메모리 절약 | 역방향 탐색 불가 | 단순 큐 |
| 더블 링크드 리스트 | 2개 (prev, next) | 양방향 | 양방향 탐색 가능, 중간 삭제 용이 | 메모리 사용 많음 | LRU Cache, Deque |
| 원형 링크드 리스트 | 1~2개 (구현 방식) | 한 방향/양방향 순환 | 순환 구조 활용 | 무한 루프 주의 | 라운드 로빈 스케줄링 |
| 연산 | 싱글 링크드 리스트 | 더블 링크드 리스트 | 원형 링크드 리스트 (단일/이중) |
|---|---|---|---|
| 탐색 (Search) | O(n) | O(n) | O(n) |
| 삽입 (앞/뒤) | O(1) (head/tail 참조 시) | O(1) (head/tail 참조 시) | O(1) (head/tail 참조 시) |
| 삽입 (중간) | O(n) (위치 탐색 후 O(1)) | O(n) (위치 탐색 후 O(1)) | O(n) (위치 탐색 후 O(1)) |
| 삭제 (앞/뒤) | O(1) (head 삭제 쉬움, tail 삭제는 O(n) 필요) | O(1) (head/tail 모두 가능) | O(1) (head/tail 모두 가능) |
| 삭제 (중간) | O(n) (이전 노드 필요) | O(1) (노드 참조 시 prev/next만 연결 변경) | O(1) (노드 참조 시 가능) |
| 순회 (Traversal) | O(n) | O(n) | O(n) (순환 구조라 무한 루프 주의) |