가중치를 사용하기 위해 Edge Class를 구현했더라도(ArrayList<Edge>[] TP) 와 달리 BFS에서는 Edge를 가져와 pointer로만 탐색 사용, Patch로 value를 사용해도 된다(반은 넣고 반은 사용)
* 하나의 BFS시작에서 먼 노드, 그리고 그 노드에서 반대 방향으로 먼 노드 2개만 판단하므로,
중복해서 업데이트 할 필요가 없다
(D patch시 if 조건 X)
불순물은 if pipeLine으로 따로 빼 둬서 만약 -1이 있다면 자동으로 해당 위상 공간으로 흘러갈 것이다. 그러므로 나머지 정제된 것은 원래대로 바로 값들을 TP로 넣어주면 된다
(단방향 작업)
BFS는 Print작업이 아닌, D만 건드려서 업데이트한다
BFS(시작) + 먼곳의 pointer
BFS(먼곳) + 다음 먼곳 Print
'Hard deck > reindexing d2' 카테고리의 다른 글
015 : 버블 정렬 (0) | 2023.06.23 |
---|---|
025 : DFS 친구관계 파악하기 (0) | 2023.06.23 |
010 : Deque + Sliding Window (0) | 2023.06.22 |
012 : Stack으로 오큰수 구하기 (0) | 2023.06.21 |
013 : Queue를 이용한 카드 게임 (0) | 2023.06.21 |