Mission: LinkedList (리스트) 관련 질문 정리
📌
1. LinkedList (리스트)에 대해 설명해주세요.
링크드 리스트는 일반적인 리스트로 불리며, 노드로 연결된 데이터를 저장하는 자료구조입니다. 링크드 리스트는 데이터의 순서를 유지할 수 없지만, 데이터를 추가하거나 삭제하는 것이 쉽습니다. 또한, 배열과 달리 배열의 크기를 우리가 지정하거나 변경할 필요가 없습니다.
1-1. 배열과 리스트의 차이를 설명해주세요.
리스트는 배열처럼 데이터를 순서대로 표현하는 자료구조 중 하나인데, 구현 방법에 큰 차이가 있습니다.
배열은 메모리 상에 연속된 공간을 '미리 할당받고' 메모리상에 데이터를 순서대로 넣어 만든 자료구조입니다.
리스트는 메모리 상에 데이터가 어디에 있던 신경쓰지 않습니다.
1-2. 배열은 언제쓰고 리스트는 언제쓸까요?
시간복잡도와 상황에 맞게 적절하게 사용하면 됩니다.
- 리스트
- 일반적으로 데이터의 추가, 삭제가 많은 경우 리스트를 사용하는 것이 효율이 좋습니다.
- 배열
- 데이터가 자주 추가, 삭제 되지 않고, 읽고 수정하는 경우가 많을 때 배열을 사용하는 것이 효율이 좋습니다.