Smuk algoritme: Optimering af fordelings-algoritme
Jeg har lavet følgende algoritme:int modulus = Employees.Count();
List<Supplier> suppliers = ...;
for (int i = 0; i < suppliers.Count();i++)
{
for (int j = 1; j <= modulus; j++)
{
if (i % j == 0)
{
suppliers[i].Employee = Employees[j-1];
}
}
}
Ideen er at der er en liste leverandører, hvori hvert element skal have en ansvarlig medarbejder tilknyttet. Listen af aktuelle medarbejdere indtastes af brugeren, og så trykkes der på en knap, hvorefter medarbejderne fordeles ligeligt ud på leverandørerne. Det skal være således at hvis der er 3 medarbejdere, så får medarbejder nr 1 følgende leverandører: 1,3,6,9...
Denne algoritme ser ud til at virke og eftersom vi taler om en leverandør liste på 100-300 elementer og en medarbejderliste på under 5, så er dette ikke særlig vigtigt for mit program. Men som professionel så kunne jeg rigtig godt tænkte mig at se en smuk løsning på dette problem. Nogen bud?