面试必备算法|图解基数排序(Python)

简介: Python图解基数排序

基数排序

基数排序的思想

​ 将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从个位开始依次进行排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。

图解基数排序

​ 进行基数排序的时候我们按照从低位到高位排序即可,直到最高位排序完成。

在这里插入图片描述

基数排序的代码实现

# 基数排序
lst = list(map(int, input().split(',')))


def RadixSort(alist):
    i = 0
    n = 1
    max_num = max(alist)
    while max_num >= 10**n:
        n += 1
    while i < n:
        bucket = {}
        for x in range(10):
            bucket.setdefault(x, [])
        for x in alist:
            radix = int((x / (10**i)) % 10)
            bucket[radix].append(x)
        j = 0
        for k in range(10):
            if len(bucket[k]) != 0:
                for y in bucket[k]:
                    alist[j] = y
                    j += 1
        i += 1
    return alist


RadixSort(lst)
相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
91 55
|
18天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
123 67
|
18天前
|
存储 搜索推荐 Python
用 Python 实现快速排序算法。
快速排序的平均时间复杂度为$O(nlogn)$,空间复杂度为$O(logn)$。它在大多数情况下表现良好,但在某些特殊情况下可能会退化为最坏情况,时间复杂度为$O(n^2)$。你可以根据实际需求对代码进行调整和修改,或者尝试使用其他优化策略来提高快速排序的性能
114 61
|
12天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
82 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
18天前
|
存储 算法 搜索推荐
Python 中数据结构和算法的关系
数据结构是算法的载体,算法是对数据结构的操作和运用。它们共同构成了计算机程序的核心,对于提高程序的质量和性能具有至关重要的作用
|
18天前
|
数据采集 存储 算法
Python 中的数据结构和算法优化策略
Python中的数据结构和算法如何进行优化?
|
存储 iOS开发 MacOS
100 个基本 Python 面试问题第四部分(57-68)
100 个基本 Python 面试问题第四部分
161 0
100 个基本 Python 面试问题第四部分(57-68)
|
监控 大数据 Python
100 个基本 Python 面试问题第七部分(91-100)
100 个基本 Python 面试问题第七部分
174 0
|
存储 Java 测试技术
100 个基本 Python 面试问题第六部分(81-90)
100 个基本 Python 面试问题第六部分
128 0
|
存储 Python
100 个基本 Python 面试问题第五部分(69-80)
100 个基本 Python 面试问题第五部分
145 0