자료구조
Double-Ended Queue
wookkl
2020. 9. 30. 13:34
Double-Ended Queues
더블 엔디드 큐는 기존 큐 자료구조 형태에서 큐의 앞,뒤로 삽입,삭제가 이루어질 수 있도록 구현한 자료구조입니다.
The Deque Abstract Data Type
Deque ADT는 다음 메서드를 다룹니다.
D.add_first(e): 데크 앞에 요소를 추가합니다.
D.add_last(e): 데크 뒤에 요소를 제거힙니다
D.delete_first(e): 데크 앞에 요소를 제거합니다.
D.delete_last(e): 데크 뒤에 요소를 제거합니다.
추가적으로, 데크는 다음 접근 메서드를 포함합니다.
D.first(): 데크 앞의 요소를 반환합니다.
D.last(): 데크 뒤의 요소를 반환합니다.
D.is_empty(): 데크가 비었을 경우
True
를 반환합니다.len(D): 데크의 길이를 반환합니다.
Deque in the Python Collections Module
파이썬에는 Collections 모듈내에 데크 클래스가 있습니다.
collections.deque | Description |
---|---|
len(D) | 요소의 개수 리턴 |
D.appendleft() | 데크 앞에 요소 추가 |
D.append() | 데크 뒤에 요소 추가 |
D.popleft() | 데크 앞에 요소 제거 |
D.pop() | 데크 뒤에 요소 제거 |
D[0] | 데크 첫번째 요소 접근 |
D[-1] | 데크 마지막 요소 접근 |
D[j] | j번째 요소 접근 |
D[j] = val | j번째 요소의 값을 val값으로 교체 |
D.clear() | 데크를 모든 요소를 삭제 |
D.rotate(k) | 데크를 k번만큼 오른쪽으로 돌림 |
D.rotate(-k) | 데크를 k번만큼 왼쪽으로 돌림 |
D.remove(e) | 데크에 e 와 처음 매칭되는 값을 삭제 |
D.count(e) | e와 매칭되는 개수를 리턴 |