Queue
Queue
공부한 내용을 스스로 보기 쉽게 정리한 글입니다.
Queue의 특징
- 내가 버스정류장에 서있다고 생각해보면, 버스 전용차선으로 버스가 줄지어 들어온다. 아무리 뒷차가 손님을 다 태웠다고해서, 앞에 버스가 아직 손님을 태우고 있으면 뒷 버스는 출발 하지 못한다.
이것이 바로 QUEUE - FIFO : First In First Out == 선입선출 or 후입후출
- front와 rear 라는 index가 각각 구조의 맨 앞과 뒤를 가리키고 있다. Data는 rear로 들어가고, front 에서 나온다.
ADT
empty() 라는 메소드로 Queue 에 data가 있는지 없는지 확인하게 한다. empty 이면 True, not empty 이면, False 를 return 한다.
Queue.empty() returns Booleanenaueue(data) 메소드로 Queue의 rear 가 가리키고 있는 data 뒤에 data를 넣는다.
Queue.enqueue (data) returns Nonedequeue() 메소드로 Queue의 front가 가리키고 있는 data를 반환하면서 삭제 된다.
Queue.dequeue() returns datapeek() 메소드로 Queue의 front가 가리키고 있는 data를 반환한다. peek은 어디까지나 확인하는 메소드 이므로, data가 삭제되지 않는다.
Queue.peek() returns data
구현 1 : by python list
- Queue 구조를 Python에 내장 되어 있는 list를 container 로 구현한다.
1 | class Queue: |