본문 바로가기
반응형

BFS2

알고리즘 11 : BFS 트리 treeBFS 문제 임의의 tree를 구성하는 노드 중 하나의 Node 객체를 입력받아, 해당 노드를 시작으로 너비 우선 탐색(BFS, Breadth First Search)을 합니다. 이 때, 탐색되는 순서대로 노드의 값이 저장된 배열을 리턴해야 합니다. 입력 인자 1 : node 'value', 'children' 속성을 갖는 객체 (Node) 'node.value'는 number 타입 'node.children'은 Node를 요소로 갖는 배열 출력 배열을 리턴해야 합니다. 주의사항 생성자 함수(Node)와 메소드(addChild)는 변경하지 않아야 합니다. 입출력 예시 let root = new Node(1); let rootChild1 = root.addChild(new Node(2)); let .. 2021. 10. 1.
알고리즘 3 : 연결된 정점들, BFS 시작에 앞서 그래프의 탐색은 하나의 정점에서 시작하여 그래프의 모든 정점을 한번씩 방문 하는 것이 목적이다. 때문에 하나씩 모두 방문하여 찾아야 하는데 상황에 따라 효과적인 방법이 있다. 그 중 가장 대표적인 방법 BFS, DFS를 소개한다. 이 둘은 탐색 순서만 다를 뿐, 모든 자료를 한번씩 확인해 본다는 점은 같다. 아래 jpg는 코드스테이츠 학습자료이다. DFS : 가장 가까운 길로 들어가서 막다른 길이 나올때까지 탐색한다. 그다음 다시 출발지점으로 와서 그 두번째로 가까운 길로 들어간다. 이를 반복하여 모든 길을 탐색함 BFS : 길을 끝까지 가지 않고 중간에 나온다. 그 후 다음 길에 들어가서 중간에 나온다. 반복하여 모든길을 얕게 탐색한 후, 다시 처음길로 들어가 더 깊게 탐색한다. 반복한다... 2021. 8. 30.
반응형