[Algorithm]

hyena_leeΒ·2023λ…„ 3μ›” 7일
0

Algorithm

λͺ©λ‘ 보기
50/53
post-thumbnail

πŸ¦• treeBFS

πŸ€ 문제 풀이


let bfs = function (node) {
  let queue = [node];
  const values = [];
  while (queue.length > 0) {
    const head = queue[0];
    queue = queue.slice(1);
    values.push(head.value);
    head.children.forEach((child) => queue.push(child));
  }
  return values;
};

// 이 μ•„λž˜ μ½”λ“œλŠ” λ³€κ²½ν•˜μ§€ μ•Šμ•„λ„ λ©λ‹ˆλ‹€. 자유둭게 μ°Έκ³ ν•˜μ„Έμš”.
let Node = function (value) {
  this.value = value;
  this.children = [];
};

// μœ„ Node 객체둜 κ΅¬μ„±λ˜λŠ” νŠΈλ¦¬λŠ” 맀우 λ‹¨μˆœν•œ ν˜•νƒœμ˜ νŠΈλ¦¬μž…λ‹ˆλ‹€.
// membership check(쀑볡 확인)λ₯Ό λ”°λ‘œ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
Node.prototype.addChild = function (child) {
  this.children.push(child);
  return child;
};

🌲 회고

날이 갈수둝 μ–΄λ €μ›Œμ§„ μ•Œκ³ λ¦¬μ¦˜..이제 μ•Œκ³ λ¦¬μ¦˜μ΄ λ¬΄μ—‡μΈκ°€μš”? μžλ£Œκ΅¬μ‘°λŠ” λ¬΄μ—‡μΈκ°€μš”? λ¨ΉλŠ”κ±΄κ°€μš”? 이 문제λ₯Ό λ³΄λ©΄μ„œ μ €μ €λ²ˆμ£Όμ— μŠ€ν„°λ”” 리더뢄이 이 자료ꡬ쑰 μ°Έκ³ ν•˜λΌκ³  μ²¨λΆ€ν•΄μ£Όμ‹ κ²Œ λ– μ˜¬λžλ‹€. 이문제λ₯Ό μœ„ν•œ 밑거름 ν•˜λΌκ³  μ£Όμ…¨κ΅¬λ‚˜!! λ‚œ λ°”μ˜λ‹€κ³  λ‚˜μ€‘μ— λ΄μ•Όν•˜μ§€ ν•˜κ³  이문제λ₯Ό 풀지 λͺ»ν•˜κ³  κ²°κ΅­ 레퍼λ₯Ό 보고 ν‘Ό λ‚˜μ˜ μžμ‹ μ—κ²Œ λ°˜μ„±ν•˜λŠ” μ‹œκ°„μ„ κ°€μ Έλ³Έλ‹€. 맀일 λ°˜μ„±ν•΄λ„ 달라지지 μ•ŠλŠ” λ‚˜λŠ” 정말 λͺ»λ‚¬λ‹€... 상을 μ°¨λ €μ€˜λ„ 떠먹지 λͺ»ν•œ μ„Έμƒμ˜ 바보가 μ–΄λ”” μžˆλ˜κ°€..μ—¬κΈ°...λ°”λ‘œ μ—¬κΈ°...였늘 또 λ°˜μ„±μ˜ μ‹œκ°„μ„ κ°–κ³  리더뢄이 μ£Όμ‹  자료 ꡬ쑰 λ³΄κ² μŠ΅λ‹ˆλ‹€.

⭐️ μ •λ¦¬ν•˜κΈ°

이 μ•Œκ³ λ¦¬μ¦˜ ν’€κΈ° μœ„ν•œ 자료ꡬ쑰 탐색 ν•„μš”ν•˜λ‹€.
DFS와 BFS λŠ” λŒ€ν‘œμ μΈ κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€
참쑰 링크

profile
μ‹€μˆ˜λ₯Ό λ‘λ €μ›Œ 말고 계속 도전 ν•˜λŠ” 개발자의 μ—¬μ •!

0개의 λŒ“κΈ€