다익스트라 알고리즘 강의듣고 질문드립니다.
0
안녕하세요
다익스트라 알고리즘 강의 듣고 질문드립니다.
다익스트라 알고리즘 코드 파일에서 Algorithm.cpp 파일 52~59번째 줄에
for (auto it = discovered.begin(); it != discovered.end(); it++)
{
if (it->cost < bestCost)
{
bestCost = it->cost;
bestIt = it;
}
}
이런 코드가 있고
이 코드는 각 발견한 Vertex를 순회하면서 제일 좋은 후보를 찾는다고 되어 있는데
왜 최적의 Vertex를 찾아야 되는지 이해가 안되서 질문드립니다.
최적의 Vertex를 찾아도 discoverd가 empty()가 될때까지 모든 연결된 Vertex를 순회해서
최적인지 아닌지를 체크하는데도 미리 최적의 Vertex를 찾는지 궁금합니다.
답변 1
헤더파일에 관한 질문
0
449
1
이진 탐색 트리 삭제 질문
0
719
1
해당 문제 유형을 수학적으로 표현 가능할까요?
0
522
1
vs2022 미로 줄간격
0
1603
2
pos 구조체 초기화 문제
0
507
0
맵이 이상하게 나오는데 무슨 문제인가요?
0
523
1
자동완성 기능 질문
1
534
2
push_back emplace_back 질문있습니다.
0
407
1
Container, Predicate 질문입니다.
0
410
1
_size - 2 질문
0
428
1
Disjoint Set 질문있습니다
0
444
1
우선순위 큐 구현 연습 intellisense 질문
0
409
1
int32 관련 질문
0
282
1
c++에서 처음 보는 문법
0
396
1
학습에 크게 지장이 있는건 아니지만 단순 궁금해서 질문드립니다
0
333
1
힙 정렬과 병합 정렬
0
435
1
resize 질문
0
269
1
처음 보는 for문 문법
0
399
1
환경 설정.. 궁금점
0
398
1
이 비교 연산자를 넣어주는 이유가 있나요?
0
294
1
소멸자 관련 질문
0
257
1
&의 차이
0
295
1
프레임 관리 질문입니다.
0
342
1
연산자 오버로딩 관련 질문입니다.
1
213
1





