Algoritme voor bepalen alle mogelijke volgorden

Post hier al je algemene vragen over wiskunde in het voortgezetonderwijs /1ste graad ASO-TSO-BSO.
Plaats reactie
marijnvdzaag
Nieuw lid
Nieuw lid
Berichten: 2
Lid geworden op: 12 mar 2008, 01:27

Algoritme voor bepalen alle mogelijke volgorden

Bericht door marijnvdzaag » 12 mar 2008, 02:41

Ik heb maar een subforum gekozen, het is niet voor school of studie maar gewoon iets waar ik zelf mee aan het pielen was. Het is vast makkelijk, maar ik kon het antwoord niet vinden of verzinnen.

Wat is een handig algoritme (systematische manier) om alle mogelijke volgorden te krijgen van een reeks (van getallen of letters of whatever)?


Bijvoorbeeld bij een reeks van 3 cijfers zijn er 3!=6 mogelijkheden:
123
231
312
132
213
321

Da's nog goed te doen, maar hoe schrijf ik netjes achter elkaar alle mogelijke volgorden van een reeks van 4 of meer? Niet dat ik daadwerkelijk bergen wil gaan zitten schrijven, maar ik zocht een manier om ze allemaal te vinden, voor het schrijven van een programmaatje waarmee ik een puzzel wilde oplossen.

Sjoerd Job
Vergevorderde
Vergevorderde
Berichten: 1144
Lid geworden op: 21 jan 2006, 15:09
Locatie: Krimpen aan den IJssel

Re: Algoritme voor bepalen alle mogelijke volgorden

Bericht door Sjoerd Job » 12 mar 2008, 07:38

Zij A een verzameling met n elementen.
Noteer Per(A) voor de verzameling van alle mogelijke volgorden van de elementen van A.
Zij A een verzameling met 1 element. Dan Per(A) = A
Zij A een verzameling met n+1 elementen. Dan is Per(A) = {(a,p) | a A, p Per(A - {a})}

Voorbeeld: A = {1,2,3}

A heeft 3 elementen. (2 + 1)

Code: Selecteer alles

Per (A) =
{(1,p) | p \in Per({2,3})}
u
{(2,p) | p \in Per({1,3})}
u
{(3,p) | p \in Per({1,2})}
Dit is een recursieve definitie: Je schrijft wat het is voor een singleton. En tevens schrijf je het voor een n+1-verz in termen van n-verz. Probeer maar eens er mee te werken.
``Life is complex. It has real and imaginary parts.''

Plaats reactie