Ho set x con elementi y (interi non ordinati) in ciascuno di essi. Voglio trovare la dimensione massima dell'intersezione tra coppia di questo set.intersezione massima tra n set
Ad esempio:
* 5 insiemi, size = 3
set 1: 1
impostato 2: 4
set 3: 5 6 7
set 4: 5 8 9
set 5: 5 10 11
intersezione massima hanno impostato 1 con set 2 e la sua dimensione è 2; la risposta è 2.
Quindi, posso farlo in O (x^2 * y) utilizzando HashSets
, semplicemente osservando tutte le coppie e calcolando la loro dimensione di intersezione. Ma voglio farlo più velocemente. Penso che ci siano specifici algoritmi o strutture dati che possono aiutare. Puoi darmi qualche idea?
UPDATE: xey è circa 10^3, gli elementi sono int. E non ci sono set uguali.
Impostare 1 e 2 si intersecano anche se 'set 1: 1 3 2' e' set 2: 4 2 3', vale a dire l'ordine degli elementi all'interno di un set non importa? – igon
sì, l'ordine non ha importanza – rusted
Esiste un limite ai valori degli elementi? Che ne dici del numero di set: hai un limite? –