deque() λ μ€νκ³Ό νμ κΈ°λ₯μ λͺ¨λ κ°μ§ κ°μ²΄λ‘ μΆμ ꡬλ₯Ό μμͺ½μ κ°μ§κ³ μμ.
λ©μλμ λ°λΌ μ€νμ²λΌ μ¨λλκ³ , νμ²λΌ μ¨λλλ€.
μ¬κΈ°μ μ κΉ μ€νκ³Ό νμ λν΄ κ°λ¨ν μμ보μ.
1. μ€ν ꡬν : append(), pop()
μ€ν(stack)μ΄λ μμ μ¬λ¦°λ€λ κ²μ μλ―Έ
'κ°μ₯ λ§μ§λ§μ μ½μ λ μλ£κ° κ°μ₯ λ¨Όμ μμ λλ€'λΌλ ꡬ쑰μ νΉμ§μ κ°μ§(νμ μ μΆ(LIFO, Last-In-First-Out) ꡬ쑰)
topμΌλ‘ μ ν κ³³μ ν΅ν΄μλ§ μ κ·Όκ°λ₯(μ½μ , μμ λͺ¨λ)
μ λ ₯μμλ append() λ©μλλ₯Ό μ΄μ©νκ³ , μΆλ ₯μμλ pop()μ μ΄μ©
2. ν ꡬν : appendleft(), pop(), append(), popleft()
Queueμ μ¬μ μ μλ―Έλ μ€μ μμ κΈ°λ€λ¦¬λ κ²μ μλ―Έ
λ°λΌμ μνμμ λ¨Όμ μ¨ μ¬λμ μ 무λ₯Ό 창ꡬμμ μ²λ¦¬νλ κ²κ³Ό κ°μ΄
μ μ μ μΆ(FIFO, First in first out)λ°©μμ μλ£κ΅¬μ‘°
μλ°μμλ
μ€νμ μμμ¬λ¦΄λ push() λ©μλλ₯Ό,
맨μμ μ μ₯λ κ°μ²΄λ₯Ό λ°ννκ³ μμ ν λλ pop() λ©μλλ₯Ό μ¬μ©νκ³
νμ κ°μ²΄λ₯Ό μ μ₯ν λλ offer() λ©μλλ₯Ό,
맨μ²μ μ μ₯λ κ°μ²΄λ₯Ό λ°ννκ³ μμ ν λλ poll() λ©μλλ₯Ό μ¬μ©νλ€.
λ€μ νμ΄μ¬μΌλ‘ λμμμ, dequeμ¬μ©λ²μ λν μμλ₯Ό 보면
queue = deque()λΌκ³ μ μΈ ν
queue.append(i)λ₯Ό νλ©΄ queueμ iλ₯Ό μλλ€
queue.popleft() νλ©΄ 맨먼μ λ£μκ²μ λΊλ€
κ·Έλ¦¬κ³ queue.append(queue.popleft())νλ©΄ 맨먼μ λΊΈκ²μ λ€μ μλλ€.
μλ₯Όλ€μ΄, queueμ 1,2,3,4 리μ€νΈκ° μλ€νμ
queue.popleft()νλ©΄ queueμμ 1μ΄ λΉ μ§ 2,3,4κ° μκ²λκ³
queue.append(queue.popleft()) νλ©΄ 2,3,4,1 μ 리μ€νΈκ° λ§λ€μ΄μ§λ€.
μ°Έκ³ μλ£
https://www.codeit.kr/community/threads/3402
[μλ£κ΅¬μ‘°] μ€ν (STACK), ν(QUEUE) κ°λ /λΉκ΅ /νμ© μμ
[μλ£κ΅¬μ‘°] μ€ν (STACK), ν(QUEUE) κ°λ /λΉκ΅ /νμ© μμ/ μ€μν νμ© μ€ν (STACK)μ΄λ? π μ€νμ κ°λ μ€ν(stack)μ΄λ μμ μ¬λ¦°λ€λ κ²μ μλ―Ένλ€. λ°λΌμ μ€ν μλ£κ΅¬μ‘°λΌλ κ²μ μ± μ μλ κ²
devuna.tistory.com
https://staticclass.tistory.com/100
05. [μλ°] Stack, Queue κ·Έλ¦¬κ³ Deque - μλ£κ΅¬μ‘°
λ€λ₯Έ 컬λ μ μ΄λ μλ£κ΅¬μ‘°μ λν΄ λ μμλ³΄κ³ μΆλ€λ©΄ μλμ λ§ν¬λ‘ λ€μ΄μ€μλΌπ€ 01. [μλ°] 컬λ μ νλ μμν¬(Collections Framework) 컬λ μ νλ μμν¬λ? λ€μμ λ°μ΄ν°λ₯Ό λ€λ£¨λ λ° νμν λ°°
staticclass.tistory.com
'Algorithm > Data Structure' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] int ν(Primitive type)λ°°μ΄μ Listλ‘ + λ΄λ¦Όμ°¨μ( Stream μ¬μ©) (0) | 2022.11.22 |
---|---|
[Java] μλ°μ λ°μ΄ν° νμ (primitive type, reference type) (0) | 2022.11.22 |
[Python] ν μλ£κ΅¬μ‘° / νν(heapq) (0) | 2022.09.19 |
Arrays.sort ( μ¬μ μμλλ‘ μ λ ¬ν΄μ£Όλ λ©μλ) (0) | 2021.10.25 |
String, StringBuffer/ StringBuilder (0) | 2021.06.23 |