젊은이의 블로그

[자료구조와알고리즘with파이썬] Ch.02-3 덱이란? Ch.02-4 상속을 이용한 덱의 구현 본문

책/자료구조와알고리즘with파이썬

[자료구조와알고리즘with파이썬] Ch.02-3 덱이란? Ch.02-4 상속을 이용한 덱의 구현

젊은사람 등장 2024. 9. 24. 14:16

덱(dequeue) : Double - Ended Queue

                     : front와 rear 모두에서 삽입과 삭제가 가능한 큐

*단 중간에서 삽입/삭제는 불가능함

 

addFront(e) 새로운 요소 e를 전단에 추가
addRear(e) 새로운 요소 e를 후단에 추가 / enqueue / push
deleteFront( ) 덱의 전단 요소를 꺼내서 반환 / dequeue
deleteRear( ) 덱의 후단 요소를 꺼내서 반환 / pop
getFront( ) 덱의 전단 요소를 삭제하지 않고 반환 / peek / peak
getRear( ) 덱의 후단 요소를 삭제하지 않고 반환
isEmpty( ) 덱이 비어있으면 True를 아니면 False를 반환
isFull( ) 덱이 가득 차 있으면 True를 아니면 False를 반환
size( ) 덱에 들어 있는 전체 요소의 수를 반환

 

전단 회전 front <- (front -1 + capacity) % capacity
후단 회전 rear <- (rear -1 + capacity) % capacity

*덱의 회전은 큐의 회전과는 달리 반시계 방향 회전임


<상속하는 방식>

class subclass ( superclass) :

            자식        ( 부모 ) :