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가지의 경우의 수에 대해서 대처해야만 한다.