Bagaimana untuk melaksanakan algoritma pengisihan mengira menggunakan Python?
Isih mengira ialah algoritma pengisihan kerumitan masa linear yang boleh digunakan untuk mengisih integer atau tatasusunan dengan julat nilai tertentu. Idea asasnya ialah mengira bilangan kali setiap elemen muncul dan meletakkan elemen pada kedudukan yang betul berdasarkan bilangan kali. Berikut akan memperkenalkan cara menggunakan Python untuk melaksanakan algoritma pengisihan mengira dan memberikan contoh kod khusus.
Pertama sekali, kita perlu menjelaskan idea teras pengisihan mengira. Langkah-langkah pelaksanaan pengiraan isihan adalah seperti berikut:
def counting_sort(arr): # 找出最大值 max_val = max(arr) # 创建辅助数组count,并初始化为0 count = [0] * (max_val + 1) # 统计每个元素出现的次数 for num in arr: count[num] += 1 # 对count数组进行累加操作 for i in range(1, len(count)): count[i] += count[i - 1] # 创建结果数组result result = [0] * len(arr) # 将元素放置到正确的位置上 for num in arr: index = count[num] - 1 result[index] = num count[num] -= 1 # 返回结果数组 return result
arr = [4, 2, 3, 4, 1] sorted_arr = counting_sort(arr) print(sorted_arr)
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan algoritma pengiraan pengiraan menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!