Membangkitkan PermutasiMembangkitkan Permutasi berarti membentuk untai S' yang merupakan permutasi dari untai S. Permasalahan umum yang terdapat seputar membangkitkan permutasi adalah: Diberikan sebuah untai S, tentukan:
Membangkitkan seluruh permutasi dari SMenggunakan rekursiKita dapat mendaftar semua himpunan permutasi dari S dengan algoritme sebagai berikut: Diberikan sebuah untai
Hendak dibuat himpunan
Implementasi algoritme tersebut dalam bahasa Pascal adalah seperti yang tertulis di bawah ini. Prosedur ini akan mencetak semua kemungkinan permutasi. procedure perm(s, p: string); begin if' s <> '' then begin for i:= 1 to length(s) do begin // pindahkan abjad ke-i dari s ke p p:= p + s[i]; delete(s, i, 1); perm(s, p); // kembalikan abjad yang telah diambil ke posisi semula insert(p[length(p)], s, 1); delete(p, length(p), 1); end; end else writeln(p); end; Lihat pula |