Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan Python untuk mempelajari prinsip dan senario aplikasi praktikal algoritma pengisihan pemilihan

Gunakan Python untuk mempelajari prinsip dan senario aplikasi praktikal algoritma pengisihan pemilihan

王林
王林asal
2024-02-03 08:26:05361semak imbas

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:

  1. Mula-mula, cari elemen terkecil (atau terbesar) daripada data yang hendak diisih, dan tukar kedudukannya dengan elemen pertama.
  2. Kemudian, cari elemen terkecil (atau terbesar) daripada baki data yang tidak diisih dan tukar kedudukannya dengan elemen kedua.
  3. Ulang langkah di atas, bertukar secara berurutan nilai minimum (atau maksimum) dalam baki data yang tidak diisih dengan elemen terakhir kawasan yang diisih sehingga semua data diisih.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn