데이터 구조는 말 그대로, 어떻게 데이터를 효울적으로 저장(insert), 삭제(delete), 탐색(peek)할 것인지에 대한 방법론이
다.
특히 저장(insert)와 삭제(delete)가 주된 동작(Operation)이다. 그러나 저장과 삭제 구현 시 주의해야 할 사항이 있다.
저장(insert)(맨 처음 삽입, 중간 삽입, 끝 삽입마다 동작(구현)이 다를 수 있음에 주의!)
ex) Queue가 있다고 하자. 그 Queue에 데이터를 저장(insert)하려고 하는데,
만약 Queue가 이미 사이즈만큼 다 찼다면???
JAVA에서는 이때 OutOfMemory라는 예외(Exception)이 발생한다.
삭제(delete)(처음 삭제, 중간 삭제, 끝 삭제마다 동작(구현)이 다를 수 있음에 주의!!)
ex) Queue에 아무 데이터도 없다고 하자.
이때, 데이터를 삭제(delete)하려고 들면, 에러가 난다.(예외는 안 터지는 듯?)
-> Queue뿐만 아니라, Stack 등의 자료구조를 사용하여 코딩을 할 떄는
1. 꽉 찬 경우를 어떻게 처리할 것인지?
2. 빈 경우를 어떻게 처리할 것인지?
이 2가지의 경우의 수에 대해서 대처해야만 한다.
'CS 과목(CS科目) > 자료 구조(Data Structure)' 카테고리의 다른 글
DB Index에서 사용되는 B tree(데이터 삽입) (0) | 2023.03.10 |
---|---|
Deque(덱) (0) | 2023.01.20 |
원형 큐(Circular Queue)를 사용하는 이유!!! (0) | 2023.01.15 |
기술 문서에서 Queue라는 용어를 만났을 때의 주의점 (0) | 2023.01.13 |
Stack vs Queue(dequeue) 사용이 적절할 때 or 관련 에러(in JAVA) (0) | 2023.01.13 |