Voor mijn afstudeerscriptie ben ik o.a. bezig met performance-analyse van enkele algoritmes die betrekking hebben op het asymmetrische handelsreizigers-probleem. Die analyse gebeurt deels theoretisch maar ook deels experimenteel. Daartoe ben ik bezig implementaties te schrijven in de taal die als OR-industrie-standaard gehanteerd wordt, namelijk C. Het probleem is dat ik met C specifiek niet veel ervaring heb (wel Pascal, Delphi, Matlab, PHP, ASP en Perl).
Ten behoeve van de efficientie van de implementatie wil ik graag het volgende weten (ik kan niets vinden op google; wellicht gebruik ik de verkeerde zoektermen):
Stel, ik heb een initiële verzameling A = {1,2,3,4,5,6,7,8,9,0} en een verzameling B die in willekeurige volgorde elementen uit A bevat. Hoe creëer ik een for-loop over alle items A \ B?
Idee daarachter is dat ik bij elke iteratie een item uit A aan B toevoeg, die bij de volgende iteratie dus overgeslagen kan worden. Dit wil ik - indien mogelijk natuurlijk - doen zónder gebruik te maken van een If-statement aan het begin van de loop die kijkt of het huidige getal bevat is in B (wat vanwege de willekeurige volgorde van de elementen in B een complexiteit n heeft en bij grote netwerken dus énorm veel tijd gaat kosten).
Is dit eenvoudig? Alvast bedankt!
Ten behoeve van de efficientie van de implementatie wil ik graag het volgende weten (ik kan niets vinden op google; wellicht gebruik ik de verkeerde zoektermen):
Stel, ik heb een initiële verzameling A = {1,2,3,4,5,6,7,8,9,0} en een verzameling B die in willekeurige volgorde elementen uit A bevat. Hoe creëer ik een for-loop over alle items A \ B?
Idee daarachter is dat ik bij elke iteratie een item uit A aan B toevoeg, die bij de volgende iteratie dus overgeslagen kan worden. Dit wil ik - indien mogelijk natuurlijk - doen zónder gebruik te maken van een If-statement aan het begin van de loop die kijkt of het huidige getal bevat is in B (wat vanwege de willekeurige volgorde van de elementen in B een complexiteit n heeft en bij grote netwerken dus énorm veel tijd gaat kosten).
Is dit eenvoudig? Alvast bedankt!
[ Voor 4% gewijzigd door Knakker op 12-09-2005 14:30 ]
Geef mij maar een Warsteiner.