-
728x90๋ฐ์ํ
์์ฒญ ๋ ์ง : 11/16/2021
์์ฒญ ๊ฐ์ : ํํ๋ก๊ทธ๋๋ฐ ์ค ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ์๋ฃ๊ตฌ์กฐ ์ค ํ๋ : Data in and Data out ๋ง ๊ฐ๋ฅ
https://visualgo.net/en/list์ queueํญ์์ ์๋ฎฌ๋ ์ด์ ๊ฐ๋ฅFIFO (First in, First out)
์ด๋ฏธ์ง ์ถ์ฒ : https://www.programiz.com/java-programming/queue - LILO๋ผ๊ณ ๋ ๋ถ๋ฆผ (last in last out)
- ๊ฐ์ฅ ๋จผ์ ๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ผ ์ ์๋ ๊ตฌ์กฐ (์คํ๊ณผ ๋ฐ๋)
- front (์)์์ ๋ฌด์กฐ๊ฑด ์ญ์ ๊ฐ ์ผ์ด๋๊ณ , rear(๋ค, tail์ด๋ผ๊ณ ๋ ํจ) ์์ ๋ฌด์กฐ๊ฑด ์ฝ์ ์ด ์ผ์ด๋๋ค
- "์ค ์๊ธฐ"์ ๋์ผ
์ฉ์ด
- enqueue : ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๊ธฐ๋ฅ
- dequeue : ํ์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ๊ธฐ๋ฅ
- peek : ๋งจ ์์ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ์ง ํ์ณ๋ณด๋ ๊ธฐ๋ฅ (literarlly peek..)
JAVA์ ํ
- java์์ ๊ธฐ๋ณธ์ ์ผ๋ก java.util ํจํค์ง์ Queue ํด๋์ค๋ฅผ ์ ๊ณตํจ
- add(value), poll(), peek(), remove() ๋ฉ์๋ ๊ฐ๋ฅ
- Queue ํด๋์ค์์ ๋ฐ์ดํฐ ์์ฑ์ ์ํด์๋ LinkedListํด๋์ค๋ฅผ ์ฌ์ฉํด์ผ ํจ
import ๋ฌธ
import java.util.LinkedList<>(); import java.util.Queue
ํ ์์ฑ
Queue<Integer> q = new LinkedList<>(); Queue<Node> q2 = new LinkedList<>(); //BFS์์ ์์ฃผ ์ฐ์. Node ํด๋์ค์ x,y,distance๋ฅผ set& get Queue<Integer> q3 = new Queue<>(); //๋ถ๊ฐ๋ฅ !
์์, ํ ํด๋์ค๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ ๋งํฌ๋ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ํ๋๋ฐ, 3๋ฒ์งธ ์ค์ ์ฝ๋์ฒ๋ผ ๋งํฌ๋ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ์ง ์์ ์ฝ๋๋ก๋ ํ ์์ฑ์ด ๋ถ๊ฐ๋ฅํ๋ค!
๋ฐ์ดํฐ ์ถ๊ฐ
add(value) ๋๋ offer(value)๋ฅผ ์ฌ์ฉ
q.add(1); q2.offer(new Node(2,3));
๋ฐ์ดํฐ ์ญ์
poll()๊ณผ remove()๋ฅผ ์ฌ์ฉ
ํ๋ ๋ฌด์กฐ๊ฑด ๋ฐ์ดํฐ๋ฅผ ์์ ์ฝ์ ํ๊ณ , ๋งจ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ค.
๋ฐ๋ผ์, ํน์ ์๋ฆฌ๋จผํธ๋ฅผ ์ง์ ํ ํ์ ์์ด poll() ๋๋ remove()๋ฅผ ์ฌ์ฉํ๋ฉด ๋งจ ๋ค์ ์์๋ฅผ ์ ๊ฑฐํ ์ ์๋คq.remove(); Node info = q2.poll(); //์ด๋ฐ์์ผ๋ก info ์ ๋งจ ๋ง์ง๋ง ์์๋ฅผ ๋ด์์ ํ์ฉ ๊ฐ๋ฅ
ArrayList ํด๋์ค๋ก enqueue์ dequeue ๊ตฌํํด๋ณด๊ธฐ
- dequeue : ํ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด null ๋ฆฌํด
public class MyQueue<T>{ private ArrayList<T> queue = new ArrayList<T>(); public void enqueue(T item){ queue.add(item); } public T dequeue(){ if(q.isEmpty()){ return null; } //else: return queue.remove(0); //๋งจ ์ ์์๋ฅผ ์ญ์ } public boolean isEmpty(){ if(queue.size()==0){ return true; } return false; } }
ํจ์คํธ์บ ํผ์ค ํ๊ธ ์ฑ๋ฆฐ์ง ๋ฐ๋ก๊ฐ๊ธฐ๐ https://bit.ly/3FVdhDa
์๊ฐ๋ฃ 100% ํ๊ธ ์ฑ๋ฆฐ์ง | ํจ์คํธ์บ ํผ์ค
๋ฑ 5์ผ๊ฐ ์งํ๋๋ ํ๊ธ์ฑ๋ฆฐ์ง๋ก ์๊ฐ๋ฃ 100% ํ๊ธ๋ฐ์ผ์ธ์! ๋ ๋ฆ๊ธฐ์ ์ ์๊ธฐ๊ณ๋ฐ ๋ง์ฐจ ํ์น!
fastcampus.co.kr
๋ณธ ํฌ์คํ ์ ํจ์คํธ์บ ํผ์ค ํ๊ธ ์ฑ๋ฆฐ์ง ์ฐธ์ฌ๋ฅผ ์ํด ์์ฑ๋์์ต๋๋ค.
728x90๋ฐ์ํ'๐ STUDY > FASTCAMPUS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 18์ผ์ฐจ (0) 2021.11.18 ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 17์ผ์ฐจ (1) 2021.11.17 ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 15์ผ์ฐจ (0) 2021.11.15 ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 14์ผ์ฐจ (0) 2021.11.14 ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 13์ผ์ฐจ (1) 2021.11.13 ๋๊ธ