알파벳순으로 정렬 된이 엄청난 색인이 있는데 특정 용어에 대한 줄을 알아야합니다. 줄 단위로 파일을 읽고 올바른 용어를 얻었는지 확인하는 것이 효율적이지 않은 것입니다. 따라서 인덱스의 크기 (우리는 영어 위키 백과 코퍼스를 인덱싱했습니다).자바 : 알파벳순 정렬 된 텍스트 파일에서 단어를 찾는 가장 좋은 방법
그 때문에 이진 검색을 할 방법을 찾고 있습니다. LineNumberReader를 사용하여 효율적으로 줄 수를 얻지 만 파일에서 n 번째 줄을 가져 오는 효율적인 솔루션이없는 것 같습니다.
내가 n 번째 줄에있을 때까지 줄을 읽는 지, 올바른 용어인지 확인하고 이진 검색 알고리즘에 따라 조치를 취하는 지 궁금합니다 (이미 건너 뛴 줄이 필요하기 때문에 줄을 다시 읽는 것 같습니다).) 다음 라인을 기준으로 용어를 확인하는 것이 더 효율적입니까?
다른 제안 사항도 환영합니다!
검색 할 용어 집합에 따라 일련의 줄을 가져와야합니다.
['LineNumberReader'] (http://docs.oracle.com/javase/7/docs/api/java/io/LineNumberReader.html)는 파일을 효율적으로 색인화하거나 윤곽. 선형 적으로 파일을 읽을 때 단순히 현재 행 번호를보고합니다. –
자, 알려 줘서 고마워. – ljtijhuis