고려 값 세트 (중복되지 정렬 된 배열로 표현하고, 알려진 크기 (예. 크기는 O (1)) 값은 O 평등에 대한 테스트 할 수 있습니다. (1) 시간을 얻을 수 있습니다. 내가 원하는 n 중 적어도 k 개의 상이한 세트에 존재하는 값 세트를 획득하기 위해 .
이를 수행하는 확실한 알고리즘은 모든 세트를 거치고 각 값의 발생 횟수를 세고 보다 높은 카운트를 가진 것을 반환하는 것 입니다. 그러나, 어떤 경우에는, 당신은 잘 할 수 있습니다 : 예를 들어, N = K = 2 와 한 세트의 경우 S 1은 다른 세트보다 훨씬 작은 S 2 , 모든 항목을보고하는 것이 더 효율적이다 S 1 과 수행 S 2 에서 이들 각각에 대한 이진 검색 : 이진 검색 접근 비용은 O ( | S 1 | log ( | S 2 | 순진한 접근 비용 반면 O는 ( | S (1) | + | S 2 | ) 악화되는 경우 | S 1 | < < | S 2 | .
이를 염두에두고 순진 알고리즘보다 어떤 상황에서 더 잘할 수 있습니까? (이것이 잘 알려진 문제라면, 나는 일반적인 이름을 알고 기꺼이 참고할 것입니다.)