|
|||
Knuth-féle permutációDonald E. Knuth A számítógép-programozás művészete című könyvének 1. kötetében található néhány módszer egy elemsorozat összes permutációjának legenerálására. Az egyik ilyen algoritmus a következő:
Minden A1, A2, …,
An-1 permutáció esetén képezzünk n újabb
permutációt úgy, hogy szúrjuk be az n karaktert minden lehetséges pozícióba:
A fenti módszert alkalmazva le kell generálnod megadott karakterek összes lehetséges permutációját. Minden karakter különböző lesz, számuk kisebb lesz, mint 10, és mindegyikük alfanumerikus karakter lesz. Ez egy rekurzív folyamat; a rekurzív hívásokat az első karakterrel kell kezdened, sorban beszúrva a többi karaktert, ahogyan a példa input és output mutatja. A programodnak a példa inputra pontosan a példa outputot kell eredményeznie. A bemenet specifikációjaA bemenet számos tesztesetet tartalmaz, mindegyiket külön sorban. Minden sor egy karaktersorozatból áll, amelyben 10-nél kevesebb alfanumerikus karakter szerepel. A bemenetet EOF zárja. A kimenet specifikációja
Minden tesztesetre a megadott karakterek összes lehetséges permutációját kell a
kimenetre írni. A bemeneten megadott karakterek sorrendje nagyon fontos a kimenet
szempontjából, tehát az Példa bemenet
A példa bemenethez tartozó kimenet
|
|||
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30. |