Jumat, 17 Juni 2011

algoritma permutasi secara iterasi

untuk artinya apa itu permutasi, kunjungi wikipedia saja, hehehe

nah untuk algoritma mencari permutasi secara iterasi mungkin kurang lebih seperti ini

pertama kita sebut istilah "mobile" adalah status untuk kondisi yang memungkinkan elemen-elemen yang dicari permutasinya masih bisa bergerak. nah kondisi dimana bisa bergerak akan dijelaskan sebagai berikut

pertama, urutkan elemen-elemen yang akan dicari permutasinya dari kecil ke besar
kemudian beri tanda panah ke kiri untuk masing masing elemen

nah dari sini, yang disebut elemen mobile adalah elemen terbesar yang memiliki tanda panah yang tanda panah tersebut menghadap ke elemen yang lebih kecil. ELEMEN TERBESAR YANG TANDA PANAHNYA MENGHADAP KE ELEMEN YANG LEBIH KECIL DARINYA.

nah

untuk melakukan pencarian permutasi sampai akhir, bisa menggunakan urut-urutan langkah seperti ini

1. masukkan kondisi urutan elemen saat ini ke daftar hasil permutasi
2. cek apakah ada elemen yang mobile, jika tidak ada, berarti sudah tidak ada lagi permutasi
3. jika ada, tukar elemen mobile tersebut dengan elemen yang ditunjuk oleh tanda panahnya, misal suatu elemen mobile tanda panahnya menghadap ke kiri, maka posisi kedua elemen tersebut ditukar
4. ubah arah tanda panah elemen-elemen yang lebih besar nilainya dari elemen mobile


bagaimana???