Hi Neels,
As somebody which may have to dig into that code at some point in time in the future, I'd back the option of having an entire set of parameters separated for each algorithm, even if some of them are repeated. If some stuff is repeated, let's try to abstract it and use some helper functions + structs, API, whatever to help reduce duplicated code. The reasoning behind it: if I'm interested in algorithm 1, I don't need to know related details or care about reading stuff from algorithms 2..N, I just need to know the API and use or extend it if needed.