2017-01-14 1 views
0

각 100 개의 문자열 요소로 구성된 10 개의 정렬되지 않은 목록이 있다고 가정 해보십시오. 어떤 목록이 다른 목록 또는 목록과 높은 중첩 정도 (예 : 50 % 이상)를 갖고 있는지, 그리고 어떤 목록이 중복되는지를 찾는 가장 빠른 방법은 무엇입니까?리스트가 n있는 경우 어떤 문자열 목록이 유사한지를 찾는 가장 효율적인 방법은 무엇입니까?

각각 10,000 개의 문자열로 이루어진 1,000,000,000 개의 순서가 지정되지 않은 목록으로 확장 한 경우는 어떻게됩니까? 이 목록을 식별하는 가장 효율적인 방법은 무엇입니까?

답변

0

이것은 느린 작업입니다. 모든 목록에서 세트를 만듭니다. 그런 다음 하나를 다른 모든 것에 비교하고, 해시 테이블이나 특정 방법으로 특정 점수를 유지하십시오. 다음으로 계속 진행하고 다시 시도하십시오. 매우 느리고 확장 성이 좋지 않지만 찾고있는 도메인에 따라 해당 작업에 맞게 조정 된 알고리즘 (및 데이터 구조)이있을 수 있습니다. 예 : 퍼지 검색 및 문자열 일치. 귀하의 질문이 너무 광범위합니다. 당신이하려고하는 것이 구체적 무엇입니까?

+0

그건 의미가 있습니다. 나는 주로 이차 유형보다 더 빠른 방식으로 이러한 유형의 비교를 수행 할 수 있는지 궁금해하고있었습니다. 나는 그 질문이 광범위하다는 것에 동의하지만 이것은 이것이 나의 질문에 대한 추상적 인 질문 이었기 때문이다. 분석하려는 특정 문서 집합이 없습니다. 감사! – user7418754

0

두 개의 문서 간 유사 항목을 찾으려면 TfidVectorize을 살펴 봐야합니다. 몇 가지 샘플 목록이나 문서 및 원하는 출력을 제공 할 수 있습니까?

+0

감사합니다. 이것은 또한 내 친구가 나에게 물어 보았던 추상적 인 질문이기 때문에 여기에서 작업하려고하는 실제 데이터가 없습니다. – user7418754

관련 문제