제목과 마찬가지로, 나는 큰 상수 배열 N에 존재하는 M의 요소를 찾으려고 노력하고 있습니다. 대부분의 경우 M의 어떤 요소도 N에 존재하지 않으므로 M에서 수행 된 검색의 대다수는 시간 낭비.키 M의 배열과 대상 N의 배열이있는 경우 M을 검색하기 전에 N에 M이 있는지 확인할 수 있습니까?
M의 전체 검색을 수행하기 전에 색인을 만드는 방법을 찾고 있습니다. 광산과 유사한 프로젝트는 M의 모든 요소의 처음 몇 바이트에서 비트 배열을 만들고 비트 수준의 병렬 처리를 활용하여 신속하게 검색 할 수 있습니다. 나는 이것이 어떻게 작동하는지 완전히 이해하지 못합니다.
그래서 M을 불필요하게 검색 할 기회를 줄이기 위해 어떤 트릭을 사용할 수 있습니까?
이것은 주로 언어와 관련이없는 질문이지만 가능하면 완벽해야하며 C++을 사용하고 있습니다.
쿨한데, 들어 본 적이 없습니다. –
아, 완벽합니다. 나는 이것을 받아들이 기 전에 다른 사람들이 생각해 낼 수있는 것을 보 겠지만, 이것은 내가 찾고있는 대답 인 것 같다. 감사! – jakogut
예. 블룸 필터. 그런 다음 N 또는 정렬 M을 정렬하는 방법을 사용하여이를 백업합니다. 둘 중 하나 또는 둘 모두를 정렬하면 중간에 점프하고 끝나기 전에 단락하여 충돌 검사의 복잡성을 줄일 수 있습니다. – Jason