CS 과목(CS科目)/자료 구조(Data Structure)
Stack, Queue, List, set 등의 자료구조 사용 시 주의 사항
JIN_YOUNG _KIM
2023. 1. 13. 14:10
데이터 구조는 말 그대로, 어떻게 데이터를 효울적으로 저장(insert), 삭제(delete), 탐색(peek)할 것인지에 대한 방법론이
다.
특히 저장(insert)와 삭제(delete)가 주된 동작(Operation)이다. 그러나 저장과 삭제 구현 시 주의해야 할 사항이 있다.
저장(insert)(맨 처음 삽입, 중간 삽입, 끝 삽입마다 동작(구현)이 다를 수 있음에 주의!)
ex) Queue가 있다고 하자. 그 Queue에 데이터를 저장(insert)하려고 하는데,
만약 Queue가 이미 사이즈만큼 다 찼다면???
JAVA에서는 이때 OutOfMemory라는 예외(Exception)이 발생한다.
삭제(delete)(처음 삭제, 중간 삭제, 끝 삭제마다 동작(구현)이 다를 수 있음에 주의!!)
ex) Queue에 아무 데이터도 없다고 하자.
이때, 데이터를 삭제(delete)하려고 들면, 에러가 난다.(예외는 안 터지는 듯?)
-> Queue뿐만 아니라, Stack 등의 자료구조를 사용하여 코딩을 할 떄는
1. 꽉 찬 경우를 어떻게 처리할 것인지?
2. 빈 경우를 어떻게 처리할 것인지?
이 2가지의 경우의 수에 대해서 대처해야만 한다.