-
[Algorithm] BFS(너비우선탐색) 내맘대로 끄적인 java 슈도코드와 완성된 코드알고리즘/알고리즘 문제 2018. 11. 8. 22:59
bfs 공부했던 BFS 슈도코드로 끄적여보기
본사로 출장을 가던 중, 전날 공부했던 BFS를 떠올리며 java로 어떻게 구현할까 슈도 코드 방식으로 끄적여봄. 본사 도착하자마자 붕 뜨는 시간에 얼른 구현해보았는데 잘 돌아갔다. 예쓰!
int[][] adjacencyMatrix = new int[][] // if node exist = 1, non exist = 0 Queue queue = new Queue int[] distancePath = new int[adjacency.length] int[] predecessor = new int[adjacency.length] Arrays.fill(distancePath, -1) // -1 means unvisitied node enqueue(시작점) dinstancePath[시작점] = 0 while(queue is not empty) int node = dequeue(queue) for(i = 1->adjacencyMatrix.[node].length) // should be nodes exist and are unvisited if(adjacencyMatrix[node][i] == 1 and distancePath[i] = -1) distancePath[i] = distancePath[node]+1 predecessor[i] = node enqueue(i)
아래는 완성된 java 코드가 있는 깃헙!
참조 코드'알고리즘 > 알고리즘 문제' 카테고리의 다른 글
[HackerRank] Sherlock and Anagrams 풀이(java) (0) 2019.04.22 [java] 진법 변환 알고리즘(기수 변환) (0) 2018.08.07 알고리즘을 풀기 위한 개념 정리 (0) 2018.07.26 팩토리얼(Factorial) 코드(java) (0) 2017.09.30 구구단 만들기 코드(java) (0) 2017.09.24