자료구조(Array,List,HashSet,HashMap)

Jb·2024년 3월 18일

자료구조 각 상황의 쓰임

배열(Array)

적합한 상황: 요소의 수가 고정되어 있거나, 요소에 인덱스를 통해 빠르게 접근해야 할 때 사용합니다.
이유: 배열은 메모리에서 연속적인 공간을 차지하기 때문에 인덱스를 통한 접근이 매우 빠릅니다. 하지만 크기가 고정되어 있어서, 동적으로 크기를 변화시키기 어렵습니다.

리스트(List)

적합한 상황: 요소의 수가 변할 수 있으며, 순서대로 요소를 추가, 삭제할 때 사용합니다.
이유: 리스트는 동적 배열이나 연결 리스트 등의 형태로 구현될 수 있으며, 요소의 추가와 삭제가 유연합니다. 인덱스를 통한 접근도 가능하지만, 배열에 비해 상대적으로 느릴 수 있습니다.

해시셋(HashSet)

적합한 상황: 중복을 허용하지 않고, 어떤 요소가 집합에 속해 있는지 빠르게 확인해야 할 때 사용합니다.
이유: 해시셋은 해시 테이블을 기반으로 구현되어 있으며, 평균적인 경우 요소의 추가, 삭제, 검색이 모두 상수 시간 복잡도(O(1))를 가집니다. 하지만 요소들 사이의 순서를 유지하지 않습니다.

해시맵(HashMap)

적합한 상황: 키-값 쌍으로 데이터를 저장하고, 키를 통해 빠르게 값을 검색해야 할 때 사용합니다.
이유: 해시맵 역시 해시 테이블을 기반으로 하며, 키를 통한 값의 추가, 삭제, 검색이 상수 시간 내에 이루어질 수 있습니다. 키는 중복될 수 없으며 각 키는 하나의 값에 매핑됩니다.

0개의 댓글