Algorithum] DFS vs BFS


グラフィックの参照


探索は大量のデータから所望のデータを探す過程である.

🌼 DFS(Depth First Search)


DFSは深さ優先ナビゲーションとも呼ばれ,グラフィックにおける深さ優先のアルゴリズムである.
DFS는 Stack(FILO) 형태의 자료구조를 사용なので、Recursionを使うメリットは、コードを簡潔に記述できることです.△しかし、他の人は이해하기 어려운 형태의 코드가 될 수도 있으므로 사용에 주의が必要です.
  • 모든 재귀함수는 반복문을 이용하여 동일한 기능을 구현할 수 있다.

  • 再帰関数を使用しない場合は、次の方法を使用してスタック構造を実装することもできます.
  •   삽입: Array.push()
      삭제: Array.pop()
    // Example. n!을 재귀함수를 사용하여 구현하시오. (단,0!, 1!은 1이다.)
    
    const num = 5;
    
    function solution(num) {
      if (num <= 1) {
        return 1
      } else {
        return num * solution(num - 1);
      }
    };
    
    solution(num);  // 120

    🌼 BFS(Breadth First Serach)


    BFSは幅優先ナビゲーションとも呼ばれ,グラフィックの最近接ノードから優先ナビゲーションを開始するアルゴリズムである.
    BFS는 Queue(FIFO) 형태의 자료구조를 사용.
      삽입: Array.push();
      삭제: Array.shift();
    出典:YOUTUBE—董文娜