>백엔드 개발 >PHP 튜토리얼 >인터뷰 질문: 256M의 메모리가 주어지면 10G 파일을 정렬합니다(파일의 한 줄에 하나의 숫자).

인터뷰 질문: 256M의 메모리가 주어지면 10G 파일을 정렬합니다(파일의 한 줄에 하나의 숫자).

WBOY
WBOY원래의
2016-08-10 09:07:185536검색

256M의 메모리를 제공하는데 10G 파일을 정렬하는 방법(파일의 한 줄에 하나의 숫자)은 무엇입니까? 10G 파일을 검색하는 방법은 무엇입니까? 10G 파일에서 각 키워드의 발생 횟수를 계산하는 방법

답글 내용:

256M의 메모리를 제공하는데 10G 파일을 정렬하는 방법(파일의 한 줄에 하나의 숫자)은 무엇입니까? 10G 파일을 검색하는 방법은 무엇입니까? 10G 파일에서 각 키워드의 발생 횟수를 계산하는 방법

공간을 교환하는 시간
구체적인 구현은 파일을 일괄적으로 로드한 후 계산하는 것입니다

Java? nio와 mapreduce를 활용한 아이디어

이해가 안 돼요php 그런데 이 질문이 익숙한 것 같아요.
당신의 생각을 말해주세요.
1. 정렬 구현
이것은 단일 기계 외부 정렬의 일반적인 문제입니다. 구체적인 방법은 先分块进行排序을 누른 다음 多路归并을 출력 파일에 넣는 것입니다.
2. 검색
파일 처리가 불가능한 경우에는 순회를 통해서만 검색이 가능합니다.
파일을 처리할 수 있으면 위에서 파일이 정렬된 것이므로 계속 진행할 수 있습니다二分查找.
3. 통계
파일을 처리할 수 없는 경우에는 한 번만 탐색하는 것 외에는 방법이 없습니다.
시퀀스가 캡처된 경우 바로 이진 검색을 수행할 수 있습니다. 찾은 위치에서 발생 횟수를 양쪽 끝에서 검색합니다.

"Programming Pearls"라는 책을 읽어보면 이런 문제가 있는 것 같습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.