코딩 테스트 대비 자료의 49페이지 Tip에 대한 질문입니다.
89
4 asked
데이터 양이 많지 않으나 데이터 간의 간격이 큰 경우에 데이터 값을 인덱스로 사용하면 Memory Exception이 발생한다고 했는데, 이 말은 인덱스로 사용된 값들이 차이가 커서 결국 배열이 쓸데없이 커지므로 제한된 메모리를 초과할 가능성이 많다는 의미인가요??
즉, 1, 10000 이란 값이 있을때에 이 값들을 인덱스로 쓰면 10000 요소를 가진 배열로 만들어 지지만, 유효한 값은 단 2개( 1과 10000의 인덱스가 가리키는 요소 )만이 들어있게 되고, 이 값의 차이가 크면 메모리에 담을 수 없을 만큼의 크기로 커진다는 의미이므로 피해야 한다는 말로 이해가 됩니다만..그리고, 구조체를 사용하라는 말의 의미가 값을 하나의 구조체로 해서 연결 리스트로 연관 지으라는 의미로 받아들여도 되나요? 혹시 잘 못 알았다면 어떤 의미인지 설명해 주시면 감사하겠습니다.
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. Aozora님.
질문해주신 내용에 관해 간단히 설명드리겠습니다.
데이터 간의 간격이 큰 경우 메모리 사용:
맞습니다. 데이터 값의 간격(예: 1과 10000)이 큰 경우 이를 배열의 인덱스로 사용하면, 예를 들어 인덱스 1과 10000 위치에만 값을 저장하고 나머지 공간은 사용되지 않습니다. 이로 인해 배열은 불필요하게 커지게 되고, 이 경우 메모리 누수가 발생하여 메모리 한계를 초과할 수 있습니다. 그러므로 효율적이지 않은 사용을 피하는 것이 좋습니다.구조체와 연결 리스트:
구조체를 사용하라는 조언은 데이터를 저장하는 다른 효율적인 방법을 제안한 것입니다. 특정 데이터 값들을 인덱스로 사용하여 배열을 생성하는 대신, 각 데이터를 구조체로 만들고 이를 연결 리스트로 활용하면 메모리를 더 효율적으로 사용할 수 있습니다. 즉, 필요한 데이터만 메모리에 저장하면서 동적 할당을 통해 메모리를 절약할 수 있습니다.
유사한 질문과 답변을 포함한 링크는 아래와 같습니다:
1. 데이터 간의 간격이 클 때 배열 사용에 대한 문제
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강평 이벤트
0
10
1
진행 방법 질문드립니다!
0
22
2
안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.
0
16
1
갑자기 채점 사이트가 바뀌었어요
0
19
1
문제 리스트 페이지
0
22
1
part8 Notion 링크
0
22
1
채점 사이트 관련 질문드립니다
0
20
1
2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.
0
53
2
2주차 개념#12 트리 순회
0
25
2
백준 사이트 서비스 종료
0
109
3
잠겨버린 사물함 시간초과 관련 질문입니다.
0
25
1
백준 서비스 종료인데 도전 과제 프로그래머스 문제로 올려주실수 있으신가요
0
70
1
백준사이트가 종료된다고 합니다.
0
284
2
백준 서비스 종료
9
879
1
코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요
0
56
2
Climbing Stairs 문제 basecase 생각하는 방법
0
31
1
[업데이트] 파이썬 패키지 부분에서 안되어서 강의 진행 불가
2
59
3
itertools, sys같은 STL을 사용할 수 없는 경우 질문드립니다.(백준 11724)
1
32
1
DFS/BFS
1
37
2
3-3 정렬-2 선택정렬 로직
0
37
2
질문 디스코드 관련
0
40
1
링크드 리스트 끝에서 k번째 값 출력하기
0
43
2
sk 하이닉스 코테 대비
0
367
2
의사코드 작성시에 깊이에 대한 질문입니다.
0
130
1

