입력 1 : 긴 정수 목록이있는 .csv 파일. 예 :정수가있는 매우 큰 CSV 파일을 효율적으로 반복 할 수 있습니까?
1
10
23
2450
12
560
320
705
...
입력 2 : 정수의 목록과 함께 .csv 파일, 각 정수 옆에 빈 위치
5 -
12 -
15 -
13 -
350 -
출력 : 입력이 입력 1에서 정수의 수를 찾기 2 정수가 .csv 파일보다 크거나 같고 숫자를 .csv 파일에 추가합니다.
이 문제는 DNA 시퀀싱과 관련이 있으며 입력 1에는 백만 건의 데이터 항목이 있습니다. 이 문제에 접근하는 효율적인 방법은 무엇입니까?
내 생각은 입력 1의 모든 항목을 하나의 큰 배열로 읽고 정렬하는 것이지만 비효율적이며 많은 메모리가 필요합니다. 모든 지침은 크게 감사하겠습니다.
편집 :
출력 (입력 2와 동일한 파일)
INT,
5 1
12 3
15 3
13 3
350 5
입력 2가 훨씬 작은 경우 입력 2의 정수를 메모리에 저장하고 정렬 한 다음 입력 1의 각 int에 대해 입력 2에서 다음으로 큰 정수를 취하여 1에 더하십시오. 결국, 입력 2의 각 정수'x'에 대해, 당신은 숫자의 개수를 가지고 있습니다. 그것은 프리비 오와'x' 사이에 있습니다. 더 작은 수를 모두 갖기 위해서는'x'를 쓰십시오. 모든 이전 수를 합계하십시오. 이 요구 사항은 입력 2의 메모리와 입력 1에 대한 선형 시간만을 나타냅니다. 이해하는 바와 같이 훨씬 길어집니다. – fairtrax
"csv"파일에 쉼표가 표시되지 않습니다. 텍스트 파일이 아닌가? –
나는 당신이하려는 것을 이해하지 못합니다. 제발 출력 예제를 보여 줄 수 있습니까? –