ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
https://choi95.tistory.com/110?category=854389
์ด์ ๊น์ด ์ฐ์ ํ์ํ ์ด์งํธ๋ฆฌ๋ฅผ ์ด๋ฒ์๋ ๋์ด ์ฐ์ ํ์์ผ๋ก ๊ตฌํํด๋ณด๊ณ ์ ํ๋ค.
๋ฌธ์ ํ์ด
๋๋น ์ฐ์ ํ์(BFS_Breadth-First Search)
- ๋ฃจํธ ๋ ธ๋(Root Node) ๋๋ ๋ค๋ฅธ ์์์ ๋ ธ๋๋ฅผ ์ ์ ์ผ๋ก, ์ธ์ ํ ๋ ธ๋๋ฅผ ๋จผ์ ํ์ํ๋ ๋ฐฉ๋ฒ
- ์์ ์ ์ ์ผ๋ก๋ถํฐ ๊ฐ๊น์ด ์ ์ ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ์ ์ ์ ๋์ค์ ๋ฐฉ๋ฌธํ๋ ์ํ ๋ฐฉ๋ฒ
- ์ ์ฉ ์: ๋ ๋ ธ๋ ์ฌ์ด์ ์ต๋จ ๊ฒฝ๋ก, ์์์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๊ณ ์ถ์ ๊ฒฝ์ฐ
- ๋ฐฉ๋ฌธํ ๋ ธ๋๋ฅผ ์ฐจ๋ก๋ก ์ ์ฅํ ํ ๊บผ๋ผ ์ ์๋ ์๋ฃ ๊ตฌ์กฐ์ธ ํ(Queue)๋ฅผ ์ฌ์ฉ
๋ฌธ์ ํ์ด
function solution() {
let answer = "";
let queue = [];
queue.push(1);
while(queue.length) {
let v = queue.shift();
answer+=v + " ";
for(let nv of [v * 2, v * 2 + 1]) {
if(nv > 7) continue;
queue.push(nv);
}
}
return answer;
}
console.log(solution());
'์๊ณ ๋ฆฌ์ฆ > ํ๊ทธ ๋ณ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DFS/BFS]์ฌ๋๋ผ ์์ผ๋๋ (0) | 2021.08.14 |
---|---|
[BFS: ์ํํธ๋ฆฌํ์]์ก์์ง ์ฐพ๊ธฐ (0) | 2021.08.13 |
[DFS]๋ฏธ๋ก ํ์ (0) | 2021.08.11 |
[์ธ์ ๋ฆฌ์คํธ]๊ฒฝ๋ก ํ์ (0) | 2021.08.11 |
[์ธ์ ํ๋ ฌ]๊ฒฝ๋ก ํ์ (0) | 2021.08.09 |
๋๊ธ