index
Queue
먼저 들어온 것이 먼저 처리되는 FIFO 데이터 구조입니다.
단점
큐에 빈 메모리가 남아 있어도, 꽉 차있는 것으로 판단할 수 있음
위 단점을 개선한 ‘원형 큐’
(index + 1) % size로 순환시킨다
단점
메모리 공간은 잘 활용하지만, 배열로 구현되어 있기 때문에 큐의 크기가 제한
위 단점을 개선한 ‘연결리스트 큐’
연결리스트 큐는 크기가 제한이 없고 삽입, 삭제가 편리
ADT
ADT란, 추상 데이터 타입(Abstract Data Type)의 약자입니다.
추상 데이터 타입은 데이터의 구현 방법을 명시하지 않고, 해당 데이터가 가져야 할 연산들을 정의한 것입니다.
즉, ADT는 데이터 타입이 가져야 할 기능(메서드)들의 명세서라고 볼 수 있습니다.
예를 들어, 리스트 ADT는 데이터를 저장하고 조회하며, 데이터를 추가하고 삭제할 수 있는 기능들을 포함할 수 있습니다.
큐 메서드(Queue ADT)
enqueue(Obj): 객체 Object를 큐의 뒤쪽(rear)에 삽입합니다.
dequeue(): 큐의 맨 앞쪽(front)에서 객체를 제거하고 반환합니다. 큐가 비어있는 경우 오류가 발생합니다.
size(): 큐 내의 객체 수를 반환합니다.
isEmpty(): 큐가 비어있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
isFull(): 큐가 가득 찼으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
front(): 큐의 맨 앞쪽(front)에 있는 객체를 반환하지만 제거하지 않습니다. 큐가 비어있는 경우 오류가 발생합니다.
Previous[Data Structure] Queue의 동작 원리와 ADT에 대해 설명해주세요Next[Data Structure] 힙(heap)이 무엇이고 어디에 사용되는지 말해주세요
Last updated