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

송인서님의 프로필 이미지
송인서

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-S

2-S 메모리 초과 질문

작성

·

60

0

안녕하세요 문제 풀다가 메모리 초과 관련해서 질문이 있어서 질문드립니다.

노드들 신뢰 관계를 2차원 배열 h[10001][10001] 로 선언하면 메모리 초과가 발생하고 vector<int> h[10001]로 선언하면 발생하지 않습니다.
동적으로 선언해도 최대 범위에 도달하게 되면 똑같은 메모리를 쓰는것 아닌가요?? vector선언시 메모리 초과가 발생하지않는지 궁금합니다!

답변 1

0

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

안녕하세요 인서님ㅎㅎ

2차원 배열 h[10001][10001] 로 선언

>> 이부분은 1억짜리 배열을 선언하는 것이라 안되는 것 같습니다.

 

동적으로 선언해도 최대 범위에 도달하게 되면 똑같은 메모리를 쓰는것 아닌가요??

>> 네 인서님 말씀이 맞습니다.

만약 모든 노드를 1만씩 채우면 똑같아지지만 보통의 경우 그렇게 최대범위를 채우지 못합니다.

이부분은 2주차 - 교안에서도 나오는데요.

image

앞의 그림처럼 문제에서는 sparse한 그래프가 많이 나오기 때문에 인접리스트로 처리하는게 더 효율적입니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림. 


송인서님의 프로필 이미지
송인서

작성한 질문수

질문하기