external-sorting

    3

    1답변

    나는 키가 64 비트 해시이고 값이 double 인 레코드 (키 - 값)를 저장하기 위해 leveldb을 사용하고 있습니다. 유추하기 : 64 비트 해시는 고객의 고유 ID이고 이중은 계정 잔액 (계정에 얼마나 많은 돈이 있는지)이라고 생각하십시오. 계정 잔액별로 데이터베이스를 정렬하고 가장 높은 계정 잔액을 가진 고객을 먼저 나열하려고합니다. 그러나 데이

    5

    2답변

    효율적이고 안정적인 외부 정렬 알고리즘 구현 (c로 작성)은 무엇입니까?

    2

    4답변

    외부 정렬을 구현하려고하는 Im. 처음에는 파일에서 N 정수 (고정 메모리에 따라 고정)를 읽어야합니다. 따라서 quicksort를 적용한 다음 병합 프로세스를 계속 진행할 수 있습니다. 나는이 두 가지 방법을 생각할 수 있습니다 는 N 정수에게 파일을 하나씩 읽고으로 정렬 한 후 배열에 넣어. 대량의 데이터를 큰 문자 배열로 읽어 들인 다음 sscanf를

    2

    4답변

    많은 양의 데이터가있는 파일이 있는데, 주어진 시간에 메모리의 일부분 만 데이터를 정렬하여 정렬하려고합니다. 병합 정렬은 외부 정렬에 널리 사용되는 것으로 나타났습니다.하지만 힙 (최소 또는 최대)으로 수행 할 수 있는지 궁금합니다. 기본적으로 내 목표는 100 개 항목 목록에서 10 개 항목을 메모리에 10 개 이상 보유하지 않고 최상위 항목 (임의의 숫

    3

    1답변

    약 10 억 개의 레코드 (각각 4 개의 정수를 포함)가있는 큰 파일을 정렬하려고합니다. 파일의 크기는 50GB 이상으로 증가합니다. 내 코드를 4 억 개의 레코드 (약 6GB 파일)로 테스트하고 있습니다. 내 디스크 구성은 다음과 같습니다 disk=/var/tmp/stxxl,50G,syscall delete 내 기계 16 기가 바이트 RAM을 가지고

    9

    1답변

    externally merge sort 큰 파일을 작은 파일로 분할하고 정렬 한 다음 큰 파일을 다시 병합합니다. 병합 할 때 많은 양방향 병합 통과 또는 하나의 다중 방식 병합을 수행 할 수 있습니다. 어떤 접근 방식이 더 좋은지 궁금합니다. 그리고 왜?

    1

    1답변

    원래 문제는 다음과 같습니다. -2P31 ~ 2^31-1 (정수)의 1PB 크기를 정렬하려면 각기 1TB의 디스크 공간과 16GB의 메모리 공간이있는 1024 대의 컴퓨터가 있어야합니다. 디스크 속도가 128MB/s (r/w)이고 메모리 속도가 8GB/s (r/w)라고 가정합니다. CPU 시간은 무시할 수 있습니다. 단순화를 위해 네트워크 전송 시간을 무시

    -3

    2답변

    두 번째 필드를 기반으로 파일의 내용을 정렬합니다 (예 :. 입력 파일 : Jervie,12,M Jaimy,11,F Tony,23,M Janey,11,F 출력 파일 : 우리는 외부 종류를 사용할 필요가 Jaimy,11,F Janey,11,F Jervie,12,M Tony,23,M . 입력 파일의 크기는 4GB 일 수 있습니다.

    -1

    2답변

    0과 1 사이의 무작위로 두 배로 가득한 이진 파일에 외부 삽입 정렬을 수행하려고합니다. "value"와 "temp"가 할당 된 후 println 문을 추가했습니다. 그들이 반복 할 때마다 동일한 값을 얻는 것처럼 보입니다. 파일을 제대로 탐색하지 않는다고 생각합니다. public class ExternalFileSort { public sta

    3

    3답변

    외부 정렬의 주된 이유는 데이터가 메인 메모리보다 클 수 있다는 것입니다. 그러나 이제 가상 메모리를 사용하고 가상 메모리가 주 메모리와 디스크를 서로 바꿔줍니다. 왜 우리는 그럼 외부 정렬을해야합니까?