Imam seznam množic. Nekatere od teh množic vsebujejo podmnožice (ki so tudi na na tem seznamu).
Imam funkcijo, ki preveri, če je množica podmnožica (Contains).
Rad bi množicam nastavil njihovega direktnega starša (Parent).
Se pravi, če je situacija taka:
A
|--B
|----C
|--D
|----E
bi rad dobil rezultat:
A.Parent = null
B.Parent = A
C.Parent = B
D.Parent = A
E.Parent = D
funkcija "Contains" dela takole:
A.Contains(B) = true
A.Contains(C) = true
B.Contains(A) = false
...
se pravi vrne "true" tudi za podmnožice, ki niso direktno njene ampak je še ena vmes.
Potrebujem čimhitrejši algoritem in prosim za pomoč.