Pertimbangkan set nilai (direpresentasikan sebagai array yang diurutkan tanpa duplikat, dan dengan ukuran yang diketahui (mis. Ukuran dapat diperoleh dalam O (1)). Nilai tersebut dapat diuji untuk kesetaraan dalam waktu O (1). Saya ingin untuk mendapatkan set nilai yang hadir dalam setidaknya k set yang berbeda di antara n .
Algoritma yang jelas untuk melakukan ini adalah melalui semua set, menghitung jumlah kemunculan dari setiap nilai, dan mengembalikannya dengan jumlah yang lebih tinggi dari . Namun, dalam beberapa kasus, Anda dapat melakukan yang lebih baik: misalnya, ketika n = k = 2 dan ketika satu set S 1 jauh lebih kecil daripada set lainnya S 2 , lebih efisien untuk melihat semua item dari S 1 dan melakukan pencarian biner untuk masing-masing di S 2 : pendekatan pencarian biner biaya O ( | S 1 | log ( | S 2 | sedangkan pendekatan naif menelan biaya O ( | S 1 | + | S 2 | ) yang lebih buruk ketika | S 1 | < < | S 2 | .
Dengan pemikiran ini, dalam situasi apa kita bisa melakukan lebih baik daripada algoritma naif? (Jika ini adalah masalah yang terkenal, saya akan senang mengetahui nama biasanya dan memiliki referensi.)