먼저 QUEUE 란?


- 선입 선출의 First In , First Out (FIFO) 의 특성을 갖는 자료구조.


- 조금 더 풀어서 말하면 먼저 들어온 데이터가 먼저 나간다.



가장 대표 적인 예시는 패스트 푸드 점의 주문 관리 시스템 먼저 받은 주문부터 먼저 음식을 줘야한다. (안주면 큰 일 나지요..)




Queue 를 구현하는 방법으로는 직선구조의 Queue나 원형 구조의 Queue, Linked Queue 가 있다.



단순한 직선 구조의 Queue 는 데이터가 10000 개 있다고 했을 때 enqueue, dequeue 과정에서 모든 데이터가 한 칸씩 움직여야 함으로 비효율


적이다.


이를 해결하기 위해서 Linked Queue 나 Circular Queue 를 이용하는데 Linked Queue를 이용하면 First Node 와 Last Node로 맨 앞의 데이터


와 뒤를 가리키게 하고, enqueue , dequeue시 이를 변경해주기만 하면 됨으로 효율적이다.


그래서 파이썬으로 



기본 적으로 파이썬의 자료구조인 리스트를 이용해서 구현해보고, 아쉬워서 Linked Queue도 구현해봤다.


코드는 기본적으로 리뷰가 안되었기 때문에 많이 가다듬은 코드는 아니기 때문에 참고하는데 주의를 ...



파이썬 built-in list로 구현한 QUEUE




두 번째로 파이썬으로 구현한 Linked QUEUE






다시 한 번 말하자면 혼자 생각하면서 바로 쓴 것이어서 문제가 발생할 수도 있으니 ㅎㅎ 


그냥 느낌만 보시길 추천..!






+ Recent posts