Rumah >pembangunan bahagian belakang >Tutorial Python >Gunakan Python untuk mempelajari prinsip dan senario aplikasi praktikal algoritma pengisihan pemilihan
Ketahui idea asas dan aplikasi pengisihan pemilihan melalui Python
Selection Sort ialah algoritma pengisihan yang mudah dan intuitif adalah untuk memilih elemen terkecil (atau terbesar) daripada data yang akan diisih Letakkannya di hujung kawasan yang diisih, kemudian pilih elemen terkecil (atau terbesar) daripada baki data yang tidak diisih dan letakkannya di hujung kawasan yang diisih, dan seterusnya sehingga semua data diisih.
Langkah khusus pengisihan pemilihan adalah seperti berikut:
Berikut ialah contoh kod menggunakan Python untuk melaksanakan isihan pemilihan:
def selection_sort(arr): n = len(arr) for i in range(n-1): min_idx = i for j in range(i+1, n): if arr[j] < arr[min_idx]: min_idx = j arr[i], arr[min_idx] = arr[min_idx], arr[i] # 测试代码 arr = [64, 25, 12, 22, 11] selection_sort(arr) print("排序后的数组:") for i in range(len(arr)): print(arr[i], end=" ")
Dalam kod di atas, selection_sort
函数实现了选择排序算法。在每次循环中,通过min_idx
merekodkan indeks nilai minimum dalam kawasan tidak diisih semasa, mencari nilai minimum dalam kawasan tidak diisih dalam gelung dalam , dan menukarnya dengan Operasi menukar kedudukannya dengan elemen terakhir julat yang diisih. Akhirnya, melalui berbilang gelung, keseluruhan tatasusunan diisih.
Hasil keluaran kod di atas ialah:
排序后的数组: 11 12 22 25 64
Kerumitan masa isihan pemilihan ialah O(n^2), jadi ia tidak sesuai untuk situasi dengan jumlah data yang besar. Walau bagaimanapun, pelaksanaan isihan pemilihan agak mudah dan kodnya mudah difahami, jadi ia masih mempunyai nilai aplikasi tertentu dalam beberapa senario tertentu.
Melalui contoh dan penjelasan kod di atas, kami telah mempelajari idea asas dan aplikasi pengisihan pemilihan. Saya harap ia akan membantu anda memahami dan menguasai algoritma isihan pemilihan.
Atas ialah kandungan terperinci Gunakan Python untuk mempelajari prinsip dan senario aplikasi praktikal algoritma pengisihan pemilihan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!