Bagaimana untuk menulis algoritma isihan pemilihan dalam Python?
Isih pilihan ialah algoritma pengisihan yang mudah dan intuitif Idea asasnya ialah mencari elemen terkecil dan meletakkannya di hujung bahagian yang diisih, kemudian teruskan mencari elemen terkecil dari bahagian yang tidak diisih dan ulangi proses ini sehingga keseluruhannya. tatasusunan diisih Selesai.
Kini kami akan memperkenalkan secara terperinci cara menulis algoritma isihan pemilihan dalam Python.
Pertama, kami mentakrifkan fungsi select_sort untuk melaksanakan isihan pemilihan. Fungsi ini menerima tatasusunan sebagai parameter dan mengisih tatasusunan asal. Dua gelung bersarang digunakan di dalam fungsi, gelung luar digunakan untuk melintasi tatasusunan, dan gelung dalam digunakan untuk mencari indeks elemen terkecil dalam bahagian yang tidak diisih.
Kodnya adalah seperti berikut:
def select_sort(arr): n = len(arr) for i in range(n-1): min_index = i for j in range(i+1, n): if arr[j] < arr[min_index]: min_index = j arr[i], arr[min_index] = arr[min_index], arr[i]
Seterusnya, kita boleh menguji kesan algoritma pengisihan pemilihan. Contohnya, mengisih tatasusunan integer:
arr = [64, 25, 12, 22, 11] select_sort(arr) print("排序后的数组:") for i in range(len(arr)): print("%d" % arr[i])
Hasil larian adalah seperti berikut:
排序后的数组: 11 12 22 25 64
Ia boleh dilihat bahawa algoritma isihan pemilihan berjaya mengisih tatasusunan input dalam tertib menaik.
Kerumitan masa algoritma isihan pemilihan ialah O(n^2) Tanpa mengira data input, kerumitan masanya adalah sama. Oleh itu, dalam aplikasi praktikal, algoritma isihan pemilihan mempunyai kecekapan yang rendah dan tidak sesuai untuk menyusun tugas memproses data berskala besar.
Ringkasnya, artikel ini memperkenalkan cara menulis algoritma isihan pemilihan dalam Python dan memberikan contoh kod khusus. Saya berharap pembaca dapat menguasai prinsip asas dan kaedah pelaksanaan algoritma isihan pemilihan dengan membaca artikel ini, dan dapat menerapkannya secara fleksibel untuk masalah praktikal.
Atas ialah kandungan terperinci Bagaimana untuk menulis algoritma jenis pemilihan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!