ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ

https://choi95.tistory.com/110?category=854389

 

[DFS]์ด์ง„ํŠธ๋ฆฌ ์ˆœํšŒ

๋ฌธ์ œ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ์ „์œ„์ˆœํšŒ, ์ค‘์œ„์ˆœํšŒ, ํ›„์œ„์ˆœํšŒ๋ฅผ ๋ˆ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”. ๊ฐœ๋… ํŠธ๋ฆฌ(Tree) ๋…ธ๋“œ(node)๋กœ ์ด๋ฃจ์–ด์ง„ ๋น„์„ ํ˜• ์ž๋ฃŒ ๊ตฌ์กฐ ํŠธ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ๋ฃจํŠธ(root) ๋…ธ๋“œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Œ ๋ฃจ

choi95.tistory.com

์ด์ „ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰ํ•œ ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ์ด๋ฒˆ์—๋Š” ๋„“์ด ์šฐ์„ ํƒ์ƒ‰์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

๋ฌธ์ œํ’€์ด

๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(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());
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
๊ธ€ ๋ณด๊ด€ํ•จ