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)에 있는 객체를 반환하지만 제거하지 않습니다. 큐가 비어있는 경우 오류가 발생합니다.

Last updated