Bagaimana untuk melaksanakan pengisihan pantas menggunakan Python

小老鼠
Lepaskan: 2023-12-18 15:37:53
asal
1049 orang telah melayarinya

Cara melaksanakan pengisihan pantas dalam Python: 1. Tentukan fungsi yang dipanggil quick_sort dan gunakan kaedah rekursif untuk melaksanakan pengisihan pantas 2. Semak panjang tatasusunan, jika panjangnya kurang daripada atau sama dengan 1, kembalikan tatasusunan secara terus , jika tidak, pilih Elemen pertama dalam tatasusunan digunakan sebagai elemen pangsi (pivot), dan kemudian tatasusunan dibahagikan kepada dua sub-tatasusunan yang lebih kecil daripada elemen pangsi dan lebih besar daripada elemen pangsi 3. Sambungkan dua sub-susun; tatasusunan dan elemen pangsi untuk membentuk tatasusunan yang diisih Itu sahaja.

Bagaimana untuk melaksanakan pengisihan pantas menggunakan Python

Sistem pengendalian tutorial ini: sistem Windows 10, Python versi 3.11.4, komputer Dell G3.

Berikut ialah cara melaksanakan isihan pantas menggunakan Python:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less_than_pivot = [x for x in arr[1:] if x <= pivot]
        greater_than_pivot = [x for x in arr[1:] if x > pivot]
        return quick_sort(less_than_pivot) + [pivot] + quick_sort(greater_than_pivot)
# 示例
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print(sorted_arr)
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan fungsi yang dipanggil quick_sort, yang menggunakan kaedah rekursif untuk melaksanakan isihan pantas. Fungsi mula-mula menyemak panjang tatasusunan, dan jika panjangnya kurang daripada atau sama dengan 1, ia mengembalikan tatasusunan secara langsung. Jika tidak, kami memilih elemen pertama dalam tatasusunan sebagai elemen pangsi, dan kemudian bahagikan tatasusunan kepada dua subarray yang lebih kecil daripada elemen pangsi dan lebih besar daripada elemen pangsi. Akhir sekali, kami menggabungkan dua subarray dan elemen pangsi untuk membentuk tatasusunan yang diisih.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengisihan pantas menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan