그림으로 간단히 확인해 보죠.
▲ 그림 4-4 연결 리스트의 삭제
그림 4-4를 보면, 노드 4를 삭제할 때는 그저 노드 1의 link가 2를 가리키게 하면 됩니다. 그러면 함수를 실행한 후 노드 4는 따로 처리하지 않아도 메모리에서 사라지는데, 이는 파이썬이 언어 차원에서 대신 지워 주기 때문입니다. 이렇게 언어 차원에서 메모리를 관리해 주는 것을 가비지 컬렉션이라고 하는데, 파이썬의 경우 레퍼런스 카운트로 가비지 컬렉션을 지원합니다. 레퍼런스 카운팅은 어떤 객체를 가리키는 객체 개수가 0이 될 때 해당 객체를 지우는 것을 의미합니다. 노드 4를 보면, 노드 1이 2를 가리키면 자신을 가리키고 있는 어떤 노드도 없기 때문에 가비지 컬렉션으로 삭제됩니다. 가비지 컬렉션에 대한 자세한 내용은 파이썬 문법 책을 참고하세요.
마지막으로 연결 리스트의 탐색을 살펴보겠습니다. 연결 리스트는 인덱싱과 같은 연산을 구현할 수 없기 때문에 어떤 요소를 찾으려면 리스트의 처음부터 끝까지 하나씩 방문하면서 해당 요소를 찾아야 합니다.