강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

winter님의 프로필 이미지
winter

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘

다익스트라 알고리즘

수업 이해도 질문

작성

·

325

0

매번 강의 잘 시청하고 있습니다.

강의 듣다가 제대로 이해하고 있는가와 질문 사항이 있어 이렇게 글을 남깁니다.

 

 

1.알고리즘

와 같은 그래프일경우

경로:1->2->(1->3)3->(1->3->4)4 이며

코스트:(3+6)9

 

2.코드

for (auto it = discover.begin(); it != discover.end(); ++it)

{

                 /.........code..../

                 }

===========>역할:지금까지 다녀온 길중에 최소 코스트가 있는지 탐색한다.

for (int there=0;there<6;there++)

{

                      /.........code..../

                }

============>역할:현재위치에서 인접한 간선중에서 최소 코스트를 탐색한다.

 

3.메모리

강의 내용을 토대로 코딩문제 사이트에서 문제를 풀었더니 메모리초과가 발생합니다.

혹시 강의의 코드에서 메모리를 줄일수 있는 부분이 있다면 어떤 것들이 있습니까?

 

답변해주신다면 대단히 감사하겠습니다.

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그건 문제 요구사항에 따라 다른데
정점이 너무 많아질 경우, 행렬 방식 (동적 배열)이 아니라
연결 리스트 방식으로 관리해서 메모리를 아껴야 합니다.
행렬을 만들면 정점 N개일 때 N*N 배열를 만들어야 하니 메모리 초과가 뜰 수 있습니다.

winter님의 프로필 이미지
winter
질문자

답변 감사합니다. 강의내용에 대해서는 언급이 없으시니 제가 이해하고 있는것으로 알고 있겠습니다.

Rookiss님의 프로필 이미지
Rookiss
지식공유자

알고리즘 문제 풀이가 목표라면 종만북을 꼭 구매해보시기 바랍니다. (구종만씨의 알고리즘 대회 책)

winter님의 프로필 이미지
winter

작성한 질문수

질문하기