Coba ceritain soal Membangkitkan Permutasi

Membangkitkan Permutasi berarti membentuk untai S' yang merupakan permutasi dari untai S.

Permasalahan umum yang terdapat seputar membangkitkan permutasi adalah:

Diberikan sebuah untai S, tentukan:

Semua permutasi n-elemen dari S

Permutasi ke-k dari s sesuai urutan leksikografik (atau aturan lainnya)

Membangkitkan seluruh permutasi dari S

Kita dapat mendaftar semua himpunan permutasi dari S dengan algoritme sebagai berikut:

Jika s tidak kosong, maka untuk setiap abjad untai s (a0 hingga an), yaitu ai:

Pindahkan ai ke p (taruh paling belakang).

Jalankan algoritme kembali untuk s dan p yang baru.

Kembalikan huruf yang telah dipindahkan ke posisi semula.

Jika s sudah kosong, maka p adalah sebuah permutasi dari s.

Implementasi algoritme tersebut dalam bahasa Pascal adalah seperti yang tertulis di bawah ini. Prosedur ini akan mencetak semua kemungkinan permutasi.