0
点赞
收藏
分享

微信扫一扫

Python 数据结构———基数排序

桑二小姐 2022-02-16 阅读 66

基数排序

  1. 一种通过比较每个数字的位数来进行排序
  2. 时间复杂度 O(blog§*k)
  3. 空间复杂度 O(p*n)
  4. 稳定算法

代码

def Base(arr, size):
    base = 1
    while base <= size * 10:
        tmp_arr = [[0] * size for rwo in range(10)]

        for i in range(size):
            index = (arr[i] // base) % 10
            tmp_arr[index][i] = arr[i]

        index = 0
        for i in range(size):
            for j in range(size):
                if tmp_arr[i][j] != 0:
                    arr[index] = tmp_arr[i][j]
                    index += 1

        base *= 10
        print(arr)


if __name__ == '__main__':
    array = [23, 16, 25, 39, 27, 12, 8, 45, 63]
    Base(array, len(array))
举报

相关推荐

0 条评论