기술 면접 예상 질문 - 자료구조의 종류는 무엇이 있으며 각각 어떤 차이점이 있는지 설명해주세요
자료구조의 종류에는 Array, List, Stack, Queue, Dictionary 등이 있습니다.
각 자료구조들은 구현방식에 따라서 조금씩 달라질 수 있지만 대표적인 특징이 있습니다.
Array는 크기가 고정적이며 각 요소에 인덱스로 접근할 수 있습니다. 요소를 삭제해도 Array의 크기와 다른 데이터들의 인덱스가 고정적 입니다.
List는 크기가 가변적이고 각 요소에 인덱스로 접근할 수 있습니다. 요소를 삭제하면 List의 크기가 변하고 다른 요소들의 인덱스가 변할 수 있습니다.
Stack은 크기가 가변적이고 인덱싱이 불가능한 대신 데이터의 삽입과 삭제가 LIFO의 방식으로 일어나 데이터의 삽입과 삭제에 유리합니다.
Queue는 크기가 가변적 인덱싱이 불가능한 대신 데이터의 삽입과 삭제가 FIFO의 방식으로 일어나 데이터의 삽입과 삭제에 유리합니다.
Dictionary는 크기가 가변적이며 key-value 쌍을 저장해 key를 사용한 검색 속도가 빠르다는 장점이 있습니다.
자료구조의 특징을 파악하고 상황에 맞게 효율적으로 사용하는것이 중요합니다.