저는 현재 도시와 교량을 다루는 과제 코드를 작성하고 있습니다. 나는 도시를 인쇄해야하고 같은 자신의 존경받는 지역에서 다리 : 프로그램을 통해 실행 후에는 다음과 같이 정렬됩니다동적 배열이 너무 많아지는 것은 언제 위험합니까?
//unorganized inputs from user given the # of "paths" we need
4 // the # of paths
1 2 5 // 1 = city , 2 = city, 5 = bridge length
6 7 5 // 6 = city , 7 = city, 5 = bridge length
2 3 7 // 2 = city , 3 = city, 7 = bridge length
6 9 7 // 6 = city , 9 = city, 7 = bridge length
: 이제
first district
1 2 5
2 3 7
2nd district
6 7 5
6 9 7
, 나는이 입력을 읽을 수 있습니다 cin을 통해. 1 2 5와 같은 가능한 모든 경로를 배열에 저장 한 다음 프로그램을 통해 정렬 및 구성하려고합니다. 문제는 사용자로부터 50 만 개가 넘는 경로가있을 수 있다는 것입니다. 500k 동적 배열을 만들고 싶습니다. 이것이 기억의 측면에서 심각한 문제를 일으킬 것입니까?
나는 kruskal의 알고리즘과 분리 된 세트 (가장 유용하다고 생각한다)와 같은 다른 가능한 해결 방법을 살펴 보았다. 분리 된 세트의 코딩을 이해하는 데 어려움을 겪고 있습니다. 더 익숙한 방식으로 시도했습니다.
어디에서 값을 저장하고 비교하고 정리할 수있는 도움이 될 것입니다. 이 정보를 읽은 곳으로 연결되는 링크가 도움이 될 것입니다. 나는 지난 며칠 동안 많은 것을 읽었습니다. 많이 도움이되지 않았다.
이 모든 것을 요약하면, 내 질문은 :
- 윌 50 만 동적 배열 원인이 메모리의 측면에서 심각한 문제가?
- 값을 저장하고 경로를 비교하여 정리하는 위치는 어디입니까?
"문제는 사용자가 500,000 개가 넘는 경로가있을 수 있습니다."사용자가 콘솔을 통해 500k 경로를 입력하도록하려는 것입니까? – SingerOfTheFall
이것은 아마도 파일을 통한 것입니다. – Chris
@SingerOfTheFall : 튜터가 'cat problem_instance1 | user_written_program'. – Zeta