Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자료구조
- 크리티컬섹션
- C++최적화
- 선택정렬
- 약참조
- BFS
- dataasset
- 델리게이트
- 언리얼가비지컬렉터
- UE_LOG
- UE4 커스텀로그
- stl
- 프로그래머스
- 알고리즘
- 람다사용정렬
- 스마트포인터
- UELOG
- 정렬알고리즘
- 데이터애셋
- 언리얼엔진구조체
- unorder_map
- enumasByue
- C++
- moreeffectiveC++
- UML관련
- 람다
- 정렬
- 강참조
- map
- 애셋로드
Archives
- Today
- Total
기억을 위한 기록들
[알고리즘] 길찾기 알고리즘 #1- 길찾기가 가능한지?/BFS / C++ 본문
이전에 작성하였던 넓이우선탐색(BFS)은 말그대로 해당 그래프에 어떤 요소가 있는지 전체적으로 탐색한것이였다.
이제 여기서 좀 더 나아가 해당 그래프에서 시작점과 목표점를 정하여 해당 두 점이 이어져 있는지 확인하는 알고리즘을 확인해보자 .
이전에 작성했던 Graph 클래스에서 새롭게 추가 된 bool형을 반환하는 Search함수이다.
이제 이 함수를 이용해서 확인해보자.
이런 그래프가 있다고 하면
6과7이 나머지 노드들과 떨어져 있는 상태이다.
예를 들어 1에서 7까지 갈수 있는지 여부를 확인한다고 하면
결과가 0이 나온다(실패)
이제 이 노드들을 이어준다.
이렇게 5번과 6번 노드를 추가로 이어주고,
AddEdget(5,6)을 추가해준 뒤 확인해보면
결과는 1로 출력된다.(성공)
여기까지는 이제 갈수 있는지 없는지 여부만 확인 했다면
하지만, 여기서의 단점은 목표지점이 나올때까지 모든 지점의 노드들을 다 검사한다는 것이다.
'자 & 알 > 알고리즘' 카테고리의 다른 글
[알고리즘] 그래프 탐색 2가지 - 깊이 우선 탐색(Depth First Search) & 너비우선탐색(Breadth First Search)/ C++ 구현 (0) | 2021.01.06 |
---|---|
[알고리즘] 탐색/검색에 관하여 (0) | 2021.01.01 |
[알고리즘] Least Recently Used(LRU) 알고리즘 / [1차] 캐시 (0) | 2020.12.19 |
[알고리즘] 정렬알고리즘 비교해보기 (0) | 2020.12.04 |
[알고리즘] 이진검색(Binary Search) + 순위(Rank)확인 시스템(?) (0) | 2020.09.09 |