최단 경로 탐색 - A* Algorithm

Woogle·2023년 2월 16일
0

C++ 공부

목록 보기
17/28

📄 A* Algorithm

✏️ Pseudo code

1. P = 시작점

2. P에 f, g, h 할당

f = g + h
g = 출발점부터 현재 노드 위치까지 거리
h = 현재 노드 위치부터 목표점까지 heuristic한 거리 (≈ 직관적으로 짧아보이는 거리)

3. (Open) 리스트에 P 넣기

4. B = Open 리스트에서 가장 낮은 f 값을 가진 노드

a. B가 목표점이면, 경로 완성
b. Open 리스트가 비었으면, 목표점까지 경로가 존재하지 않음

5. C = B에 연결된 노드

a. C에 f, g, h 값 할당
b. (Open/Close) 리스트에서 C가 있는지 체크

1. 있으면, 더 낮은 f 값으로 경로 업데이트
2. 없으면, C를 Open 리스트에 넣기
c. 5번으로 돌아가서 B에 연결된 모든 노드를 대상으로 진행

6. 4번으로 돌아감


자료 출처

profile
노력하는 게임 개발자

0개의 댓글

관련 채용 정보