Is there an equivalent to divide and conquer when trying to identify multiple items?

29 Views Asked by At

Not exactly sure how to ask so I'll give my concrete example.

We have approximately 50 dll files being built by a project, but for a particular application at least 2 of them are required, but we don't know which files are needed. We want to minimize the number of dll files bundled with the project.

If there was exactly one file needed, we could use divide and conquer. Split the list in half and keep only one half. If it works we can repeat the process with this half. If it doesn't work we can repeat the process on the other half. Divide and conquer works very quickly to identify one file.

This doesn't work if 2 (or more) files are required (because if you split the list and one file from each half is needed, it will fail with both halves of the list).

Is there a similar algorithm to divide and conquer which works like this and works quicker than "Eliminate one file. If it works, it's not needed, if it fails, it's needed"?

(I know there are dll dependency checkers and tools and things, but this question is more about the process - another example is finding particular checkins to source control which caused a breakage - finding one breaking change is easy and quick with divide and conquer. If two or more checkins contributed then you can no longer divide and conquer).

0

There are 0 best solutions below