Time complexity of n-vertex subgraph enumeration?

It looks like the algorithm has a bug because after the recursive call, it is possible that nodes that appear in combination also appear in connectedSoFar, so the check that connectedSoFar.size() + combination.size() equals n seems incorrect, as it might count a node twice.

It looks like the algorithm has a bug because after the recursive call, it is possible that nodes that appear in combination also appear in connectedSoFar, so the check that connectedSoFar.size() + combination.size() equals n seems incorrect, as it might count a node twice. Anyway, otherwise to analyze the algorithm, you have 2d elements in the powerset; every operation in the "elase" branch takes O(n) time because connectedSoFar and combination together can't contain more than n nodes. Adding elements to connectedSoFar then takes O(n log n) time because |combination| ≤ n.

The iteration over combination nodes happens O(n) times; within it there is O(d) operation to construct the hash set k and then recursive call. Denote then the complexity of the procedure by X(n) where n is the parameter. You have X(n) ~ 2d (n + n log n + n (d + X(n - 1))) because in the recursive call you have added at least one vertex to the graph so in practice the parameter n in the recursive call decreases virtually by at least one.

Simplify this to X(n) ~ 2d (n (1 + d + log n + X(n - 1))) because d is constant, mark D = 2d, eliminate the constant 1, and you get X(n) ~ D n (d + log n + X(n - 1)) which you can analyze as X(n) ~ (2d)n n! (d + log n) showing that your algorithm is really a time hog :).

Thanks a lot for this in-depth analysis! Looks like it really is a time hog, luckily I don't need it to be very efficient - but perhaps someone here can point me to a better way of doing this. Thanks again.

– Nejc Saje May 29 at 21:02.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions


Thank You!
send