파이썬 링크드 리스트 사용법
Python 연결 리스트
이해하기
- 연결 리스트는 정렬된 객체의 모음이다.
- 연결 리스트는 일반적인 리스트와는 다르게 데이터를 메모리에 저장한다.
- 리스트는 데이터의 참조를 연속적인 메모리 블록에 저장하지만, 연결 리스트는 자체 요소의 일부로 데이터의 참조를 저장한다.
- 각 노드는 두 개의 필드를 가진다:
- 데이터: 노드에 저장되는 값
- 다음: 리스트의 다음 노드를 가리키는 참조
- 연결 리스트의 첫 번째 노드는 “head”로 불리며, 리스트 순회의 시작점으로 사용된다.
- 마지막 노드는 다음 참조가 “None”을 가리키도록 설정하여 리스트의 끝을 결정한다.
collections.deque 소개
collections.deque
는 파이썬에서 연결 리스트를 사용하기 위한 모듈이다.- 이 모듈은 양방향 연결 리스트로 구현되어 있어서 앞과 뒤에서 모두 데이터의 삽입과 삭제가 가능하다.
- 큐와 스택을 구현하는 데에도 사용할 수 있다.
직접 만드는 연결 리스트
연결 리스트 생성
연결 리스트 순회
새 노드 삽입
노드 삭제
고급 연결 리스트 활용
양방향 연결 리스트 사용
collections.deque
를 사용하여 양방향 연결 리스트를 생성할 수 있다.- 아래는 사용 예시이다.
원형 연결 리스트 사용
- 원형 연결 리스트는 마지막 노드의 다음 참조가 첫 번째 노드를 가리키는 리스트이다.
- 다음과 같이 원형 연결 리스트를 만들 수 있다.
결론
- 연결 리스트는 정렬된 객체의 모음이다.
- 연결 리스트는 리스트와는 다르게 데이터를 메모리에 저장한다.
collections.deque
를 사용하여 연결 리스트를 구현할 수 있다.- 직접 연결 리스트를 만들 수도 있다.
- 양방향 연결 리스트와 원형 연결 리스트는 고급 연결 리스트의 한 종류이다.