https://github.com/cuttingworms/Data-Structures-with-Python
- 원형 연결 리스트 (Circular Linked List)
- 마지막 노드가 첫 노드와 연결된 단순 연결 리스트
- 원형 연결 리스트에서는 마지막 노드의 레퍼런스가 저장된 Last가 단순 연결 리스트의 Head와 같은 역할
- 마지막 노드와 첫 노드를 O(1)에 방문할 수 있다는 장점
- 리스트가 Empty가 아니면 어떤 노드도 None 레퍼런스를 가지고 있지 않으므로 프로그램에서 None 조건을 검사하지 않아도 되는 장점
- 반대 방향으로 노드들을 방문하기 쉽지 않으며, 무한 루프가 발생할 수 있음을 유의
- 수행 시간
- 탐색은 연결 리스트의 노드들을 Last로부터 순차적으로 방문해야 하므로 O(n) 소요
- 삽입과 삭제는 각각 O(1) 개의 레퍼런스만을 갱신하므로 O(1) 소요 (단, Insert after나 Delete after의 경우에 특정 노드의 레퍼런스가 주어지지 않으면 Head로부터 노드를 찾기 위하여 탐색을 수행하므로 O(n) 소요)
'자료구조 (Data Structures) > 리스트, List' 카테고리의 다른 글
[List] 이중 연결 리스트, Doubly Linked List (0) | 2021.12.30 |
---|---|
[List] 단순 연결 리스트, Singly Linked List (0) | 2021.12.30 |
[List] 리스트, List (0) | 2021.12.30 |