큰 세트의 URL이 있는데 자동 완성을 구현하고 싶습니다. 이 세트의 크기와 선형이기 때문에 나는 순진 접근 방식의 복잡성을 좋아하지 않는다 :Java에서 간단한 접두사 색인을 만드는 방법은 무엇입니까?
지금은 해시 세트에서, 함수가 O "의 작품"(을)를 포함 "알고for(String url: urls) if(url.startsWith(input) {doSomething();}
(1) "containsPrefix()"는 없습니다. Lucene과 같은 큰 라이브러리를 사용하거나 직접 코딩하지 않고도 간단한 방법이 있습니까? 문제가 없지만 간단한 문제가 너무 복잡해서 기존의 간단한 해결책이 있는지 알고 싶습니다. :-)
컴퓨터 과학 수업에서 문자열 조각으로 구성된 트리를 기억하지만 나는 그것이 어떻게 부르는지 잊는다. 그것은 다음과 같이 작동했습니다 :
[car, care, carrot,carrotville]->
car
|
-/
-e
-rrot
|
----ville
P .: 나는 문자열이 접두사 인 모든 문자열을 반환하는 메소드를 어떻게 호출합니까? a가 b의 접두사 인 것처럼, b는 무엇입니까? 당신이 Trie, 그 목적을 위해 정밀하게 설계된 데이터 구조를 사용, 효율적으로 문자열의 접두사를 찾을 필요가
무엇을 하시겠습니까? 자동으로 모든 문자열의 시작 부분에 텍스트를 추가합니까? –
내 문자열이 접두사 인 문자열을 알고 싶습니다. 그래서 자동 완성 제안으로 줄 수 있습니다. –