並べ替えアルゴリズムのレビュー(Python実装)
並べ替えを選択
def selection_sort(arr):
"""
选择排序
:param arr:
:return:sorted list
"""
length = len(arr)
for i in range(length - 1):
min_index = i
"""
从min_index 到 最终 选择最小的,插入到前面已排序的尾部
"""
# 寻找未排序列表之中最小的
for j in range(min_index, length):
if arr[min_index] > arr[j]:
min_index = j
# 找到未排序列表最小值之后与未排序列表第一个进行交换,此时最小值加入到前面已排序部分
arr[i], arr[min_index] = arr[min_index], arr[i]
並べ替えを選択して、リストを前:並べ替え済みリスト、後:並べ替えなしリストに分割し、並べ替えていないリストの最小のものを後ろに挿入し、並べ替え済みリストの最後に挿入し、繰り返し繰り返してリスト全体を並べ替えます。
並べ替えを選択
def insert_sort(arr):
length = len(arr)
for i in range(1, length):
# 此时i为未排序列表第一个
"""
将该元素与前面已排序的列表比较,如果该元素比前一个元素大,则加交换位置(前移)
"""
for j in range(i, 0, -1):
if arr[j] < arr[j - 1]:
arr[j], arr[j - 1] = arr[j - 1], arr[j]
return None
挿入ソートアルゴリズムの主な考え方は、次の要素を前の要素と比較し、それらを前に挿入し、繰り返し繰り返してソートされたリストを形成することです。