本篇为排序算法系列第一篇,详细讲述珠排序算法。后续代码默认使用Python3.9版本。
01 什么是bead sort(珠排序)?...这是一种自然排序算法,类似于算盘纵向平行柱上面的珠子,纵向平行柱的数量代表待排序数字的最大值,每根柱子上面的柱子数量代表待排序数个数(如待排序数组L = [1, 5, 3, 2, 7, 4],则需要纵向平行柱...然而这个算法在真实实现时性能比较『拉夸』,最好情况下时间复杂度为O(n^2),而且只能对正整数进行排序。...03 Python实现
def bead_sort(sequence: list) -> list:
"""
>>> bead_sort([6, 11, 12, 4, 1, 5])...>>> bead_sort([5, 0, 4, 3])
[0, 3, 4, 5]
>>> bead_sort([8, 2, 1])
[1, 2, 8]
>>> bead_sort