Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Honza
Neregistrovaný
Avatar
Honza:8.12.2013 14:11

Dobrý den,

chtěl bych se zeptat jestli neexistuje nějáký algoritmus jak proházet prvky pole na všechny možné způsoby.

například mám pole:

String[] pole = new String[] {"A", "B", "C", "D"};

a potřebuji algoritmus co mi vypíše všechny možnosti jak je prohodit.
Takže něco jako tohle:
ABCD
ABDC
ACDB
ACBD
ADBC
ADCB
...
a tak dál.

 
Odpovědět
8.12.2013 14:11
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na
Hartrik:8.12.2013 14:59

To co hledáš jsou permutace, neměl by být problém vygůglit si algoritmus.

 
Nahoru Odpovědět
8.12.2013 14:59
Avatar
neutr
Člen
Avatar
neutr:27.12.2016 17:55

Permutace je celkem vágní pojem ačkoliv je správný. Tento případ je Faktoriál. Je tady více návodů i nějaký kód.

PS : Dnes je permutacemi vše co nejsou kombinace. Když bys Honzo potřeboval například jen čtyřmístné "kombinace" z celku > 4 jednalo by se o "variace bez opakování". Například V(6,4) - variace bez opakování 4. třídy celku 6.

Opačně variace bez opakování kde k=n V(n,n) = také n! = také permutace (tak jak byly definovány původně P(n)= n!).

Editováno 27.12.2016 17:57
 
Nahoru Odpovědět
27.12.2016 17:55
Avatar
Štefan Melich:27.12.2016 18:36

majú byť tie kombinácie prvkov poľa o dĺžke pola (v tomto prípade 4 prvkové), alebo aj všetky 3, prvkové 2, 1...?

Editováno 27.12.2016 18:37
 
Nahoru Odpovědět
27.12.2016 18:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.