Misalkan kita memiliki string s. Kita harus menemukan semua kemungkinan kombinasi huruf s. Jika ada dua string dengan kumpulan karakter yang sama, maka tunjukkan yang terkecil secara leksikografis. Dan satu kendala adalah setiap karakter di s adalah unik Show Jadi, jika inputnya seperti s = "pqr", maka outputnya adalah ['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p'] Untuk mengatasi ini, kami akan mengikuti langkah-langkah ini −
ContohMari kita lihat implementasi berikut untuk mendapatkan pemahaman yang lebih baik − def solve(s): st_arr = [] for i in range(len(s)-1,-1,-1): for j in range(len(st_arr)): st_arr.append(s[i]+st_arr[j]) st_arr.append(s[i]) return st_arr s = "pqr" print(solve(s)) Memasukkan"pqr"_ Keluaran['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p'] Permutasi disebut juga "nomor susunan" atau "urutan", adalah susunan ulang elemen-elemen dari daftar terurut S menjadi korespondensi satu-ke-satu dengan S itu sendiri. Sebuah string dengan panjang n memiliki n. permutasi. Sumber. Kata Matematika (http. //mathworld. wolfram. com/Permutasi. html) Di bawah ini adalah permutasi dari string ABC. Direkomendasikan. Silakan selesaikan pada "PRAKTEK" terlebih dahulu, sebelum beralih ke solusi Berikut adalah solusi yang digunakan sebagai dasar dalam backtracking Python3
Enter the string : abc All possible strings are : abc acb bac bca cab cba0 List Enter the string : abc All possible strings are : abc acb bac bca cab cba2
Enter the string : abc All possible strings are : abc acb bac bca cab cba_3 Enter the string : abc All possible strings are : abc acb bac bca cab cba_4 Enter the string : abc All possible strings are : abc acb bac bca cab cba5 Enter the string : abc All possible strings are : abc acb bac bca cab cba6 Enter the string : abc All possible strings are : abc acb bac bca cab cba_7 Enter the string : abc All possible strings are : abc acb bac bca cab cba8
________44______9 Enter the string : abc All possible strings are : abc acb bac bca cab cba2
Keluaran. ABC ACB BAC BCA CBA CAB Paradigma Algoritma. Mundur Kompleksitas Waktu. O(n*n. ) Perhatikan bahwa ada n. permutasi dan membutuhkan O(n) waktu untuk mencetak permutasi Ruang Bantu. O(r – l) Catatan. Solusi di atas mencetak permutasi duplikat jika ada karakter berulang dalam string input. Silakan lihat tautan di bawah untuk solusi yang hanya mencetak permutasi berbeda meskipun ada duplikat dalam input Pendekatan lain Python3
Enter the string : abc All possible strings are : abc acb bac bca cab cba2
Enter the string : abc All possible strings are : abc acb bac bca cab cba05
Enter the string : abc All possible strings are : abc acb bac bca cab cba07 # Python program to print all permutations 4 Enter the string : abc All possible strings are : abc acb bac bca cab cba09 ________40______7 Enter the string : abc All possible strings are : abc acb bac bca cab cba11 # Python program to print all permutations 4 Enter the string : abc All possible strings are : abc acb bac bca cab cba13 ): 0Enter the string : abc All possible strings are : abc acb bac bca cab cba15 ________40______7 Enter the string : abc All possible strings are : abc acb bac bca cab cba17 # Python program to print all permutations 4 Enter the string : abc All possible strings are : abc acb bac bca cab cba19 # with duplicates allowed 9 def 0Enter the string : abc All possible strings are : abc acb bac bca cab cba22 ________40______7 Enter the string : abc All possible strings are : abc acb bac bca cab cba24 # Python program to print all permutations 4 Enter the string : abc All possible strings are : abc acb bac bca cab cba11 # with duplicates allowed 9 Enter the string : abc All possible strings are : abc acb bac bca cab cba17
Enter the string : abc All possible strings are : abc acb bac bca cab cba30 # with duplicates allowed 9 Enter the string : abc All possible strings are : abc acb bac bca cab cba32
Enter the string : abc All possible strings are : abc acb bac bca cab cba_33 Enter the string : abc All possible strings are : abc acb bac bca cab cba34 # Python program to print all permutations 4 Enter the string : abc All possible strings are : abc acb bac bca cab cba36 Enter the string : abc All possible strings are : abc acb bac bca cab cba37 # Python program to print all permutations 4 Enter the string : abc All possible strings are : abc acb bac bca cab cba39 2________3______41Enter the string : abc All possible strings are : abc acb bac bca cab cba2
Enter the string : abc All possible strings are : abc acb bac bca cab cba45 Enter the string : abc All possible strings are : abc acb bac bca cab cba2 Enter the string : abc All possible strings are : abc acb bac bca cab cba_47 Enter the string : abc All possible strings are : abc acb bac bca cab cba_48 Keluaran Enter the string : abc All possible strings are : abc acb bac bca cab cba Kompleksitas Waktu. O(n*n. ) Kompleksitas waktu sama dengan pendekatan di atas, i. e. ada n. permutasi dan membutuhkan O(n) waktu untuk mencetak permutasi Bagaimana menemukan semua kemungkinan kombinasi string dengan Python?Untuk menemukan semua kemungkinan permutasi dari string yang diberikan, Anda dapat menggunakan modul itertools yang memiliki metode berguna yang disebut permutasi(iterable[, r]). This method return successive r length permutations of elements in the iterable as tuples.
Bagaimana Anda menghitung semua kombinasi dengan Python?Jika kita memilih k benda dari total n opsi dan kita tidak peduli urutannya, jumlah total kombinasi (jumlah cara berbeda untuk melakukan ini) adalah. C(n,k)=(nk)=n. k. (n−k).
Bagaimana Anda menulis kombinasi string dengan Python?Kombinasi String . import itertools seq = "ABC" com_seq = itertools. kombinasi(seq, 2) untuk c di com_seq cetak(c) Bagaimana Anda menghasilkan semua permutasi dengan Python?Kita dapat melakukannya hanya dengan menggunakan fungsi permutasi bawaan di pustaka itertools . Ini adalah teknik terpendek untuk menemukan permutasi. |