- 원형 연결 리스트의 정의 및 종류: 마지막 요소가 첫 번째 요소를 가리켜 원형으로 연결되며, 단일 또는 이중 방향으로 구현될 수 있습니다. 🔄
- 이중 원형 연결 리스트의 구조: 헤드와 테일이 존재하며, 테일은 헤드를, 헤드는 테일을 서로 가리켜 끊김 없는 순회가 가능합니다. 🔗
- 기본 연산의 시간 복잡도: 삽입 및 삭제는 헤드/테일에서 O(1), 특정 인덱스에서는 O(N)이며, 탐색 및 순회는 O(N)으로 이중 연결 리스트와 유사합니다. ⏱️
tail 속성의 생략 가능성: 이중 원형 연결 리스트에서는 head.prev가 항상 테일을 가리키므로, 별도의 tail 속성을 클래스에 저장할 필요가 없어 메모리 효율성을 높일 수 있습니다. 💡
- 무한 순회 기능 (
navigate): 리스트의 끝에 도달해도 계속해서 다음 또는 이전 요소로 이동할 수 있어, 게임 무기 변경이나 이미지 슬라이드 등 반복적인 순회가 필요한 곳에 유용합니다. ♾️
- 순회 종료 조건의 차이: 일반 연결 리스트와 달리 원형 연결 리스트의 전체 순회는
current가 다시 head (정방향) 또는 tail (역방향)으로 돌아올 때 종료되어 무한 루프를 방지합니다. 🛑
current 속성을 이용한 상태 저장: current 속성을 통해 현재 선택된 요소의 위치를 저장하고 앞뒤로 이동하며 리스트의 상태를 유지할 수 있습니다. 📍
- 실제 적용 사례: 게임 내 무기 변경 시스템, 무한 이미지 슬라이더 등 순환적이고 반복적인 선택 및 순회가 필요한 다양한 프로그램에 활용됩니다. 🎮
데브허브 | DEVHUB | 자료구조 - 원형 연결 리스트