Considere conjuntos de valores (representados como matrizes classificadas sem duplicatas e com um tamanho conhecido (ou seja, o tamanho pode ser obtido em O (1)) .Os valores podem ser testados quanto à igualdade no tempo O (1). para obter o conjunto de valores presentes em pelo menos conjuntos diferentes entre os .
O algoritmo óbvio para fazer isso é percorrer todos os conjuntos, contar o número de ocorrências de cada valor e retornar aqueles com uma contagem maior que . No entanto, em alguns casos, você pode fazer melhor: por exemplo, quando e quando um conjunto é muito menor que o outro conjunto , é mais eficiente examinar todos os itens de e realizar uma pesquisa binária para cada um deles em : a abordagem de pesquisa binária custa enquanto a abordagem ingênua custa que é pior quando.
Com isso em mente, em quais situações podemos fazer melhor que o algoritmo ingênuo? (Se esse for um problema conhecido, ficarei feliz em saber o nome usual e ter referências.)