首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python实现计数排序

计数排序适合数据量大且数据范围小的数据排序,如对人的年龄进行排序,对考试成绩进行排序等。 计数排序先找到待排序列表中的最大值 k,开辟一个长度为 k+1 的计数列表,计数列表中的所有初始值都为 0。...然后创建一个新列表,根据计数列表中统计的数量,依次在新列表中添加对应数量的 i ,得到排好序的列表。 二、计数排序原理 计数排序的原理如下: 1....三、Python实现计数排序 # coding=utf-8 def counting_sort(array): if len(array) < 2: return array...2, 5, 9, 5, 7, 6] print(counting_sort(array)) 运行结果: [2, 2, 3, 3, 5, 5, 5, 6, 7, 7, 7, 9] 代码中,使用Python...时间复杂度 在计数排序中,需要走访待排序列表中的每一个元素,进行计数,列表长度为 n ,然后需要遍历计数列表,添加数据到新列表中,计数列表长度为 k+1 ,时间复杂度为 T(n)=n+k+1,再乘计数和添加数据的步骤数

92350
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python算法——计数排序

    计数排序是一种线性时间复杂度的排序算法,具有稳定性和适用性广泛的特点。本文将详细介绍计数排序的工作原理和Python实现。...计数排序的工作原理 计数排序的基本思想是: 统计数组中每个元素出现的次数,得到元素的频率统计信息。 根据频率统计信息,重建有序数组。 计数排序的关键在于如何统计元素的频率以及如何重建有序数组。...Python实现计数排序 下面是Python中的计数排序实现: def counting_sort(arr): max_val = max(arr) min_val = min(arr)...初始化计数数组 count,用于统计每个元素出现的次数。 统计元素频率,注意需要将元素减去最小值以适配计数数组。 重建有序数组,根据计数数组信息构建有序数组。...示例代码 下面是一个使用Python进行计数排序的示例代码: def counting_sort(arr): max_val = max(arr) min_val = min(arr)

    28110

    内存中的PythonPython引用计数指南

    变量是内存引用 Python中的变量是内存引用。如果输入x = [1,2]时会发生什么?[1,2]是对象。 回想一下,一切都是Python中的对象。[1,2]将在内存中创建。...引用计数 现在已经在内存中创建了一个list对象,而且x对该对象进行了引用。那么y=[1,2]和y=x有什么区别? 当输入y=[1,2]时,它将在内存中创建一个新的list对象,并且y将引用它。...[1, 2] print(hex(id(x))) # output: 0x101bea8 print(hex(id(y))) # output: 0x31a5528 而当输入y=x时,等同于告诉Python...引用计数的数目 接下来的问题是,有多少变量引用同一个对象? 错误的用法: 我看到有些人在使用sys.getrefcount(var)时不知道如何传递var,而是向对象添加引用。一起看看下面的例子。...查看下面的例子,观察输出是如何变化的。

    1.4K20

    如何选择通用计数器?

    如何选择? 1、通用计数器简介: 通用计数器是利用数字电路技术数出给定时间内所通过的脉冲数并显示计数结果的数字化仪器。...3、通用计数器技术指标对比: 目前通用计数器在国内和国外都有供应商,并且国内和国外的供应商所生产的通用计数器存在功能、性能、技术指标、用途、等差异。...所以用户在选择通用计数器时,要先了解通用计数器的技术指标是否满足自身需要,然后要了解通用计数器有那些功能,还要了解通用计数器的选件和其他额外功能,以及该产品后续的升级功能。...4、通用计数器价格对比 国外的和国内的通用计数器因为技术指标不同所以价格不同,但有时在同样的技术指标下产品的价格也不相同,这是因为国外通用计数器有时需要进出口的原因,所以通用计数器的价格就会有所增加。...7、通用计数器的特点: SYN5636型高精度通用计数器该通用计数器是一款按照《JJG 349-2014通用计数器检定规程》研发生产的高性价比的时间间隔和频率测试仪器。

    90720

    计数排序与桶排序python实现

    计数排序与桶排序python实现 计数排序 计数排序原理: 找到给定序列的最小值与最大值 创建一个长度为最大值-最小值+1的数组,初始化都为0 然后遍历原序列,并为数组中索引为当前值-最小值的值...计数排序实现 下面为列表的计数排序 def count_sort(s): """计数排序""" # 找到最大最小值 min_num = min(s) max_num =...max(s) # 计数列表 count_list = [0]*(max_num-min_num+1) # 计数 for i in s: count_list...当数值中有非整数时,计数数组的索引无法分配 桶排序 桶排序原理: 桶排序与计数排序类似,但可以解决非整数的排序 桶排序相当于把计数数组划分为按顺序的几个部分 每一部分叫做一个桶,它来存放处于该范围内的数...,虽然很快,但由于可能产生大量的空位置导致内存增大,尤其是计数排序。

    1.1K10

    如何计数据可视化平台

    (WHAT) 在聊如何计数据可视化平台前,想先聊一下我所理解的数据可视化。...如何计数据可视化平台?...(HOW) 在思考了什么是数据可视化,以及为什么需要数据可视化之后,如何计数据可视化可能是一个更加实用的问题,数据可视化如果想传达给用户,常见的方法就是就是通过可视化平台展现,例如网页、软件等等,这一节将从抽象的设计思路到具象的界面设计...,分析应该如何计数据可视化平台。...用户对于可视化平台的熟悉程度如何? 用户如何利用数据去解决问题? 用户如何向其他人传达信息? …… 关于场景可以问 数据平台在什么设备上使用? 用户查看/观测数据的频率如何?每天一次还是多次?

    1K20

    百万考生分数如何排序 - 计数排序

    百万考生分数如何排序 - 计数排序 关注 「码哥字节」,这里有算法系列、大数据存储系列、Spring 系列、源码架构拆解系列、面试系列……敬请期待。...「码哥字节」之前分享了百万订单如何根据金额排序,就是运用了桶排序。 计数排序的核心在于将输入的数据值转换成键保存在数组下标,所以作为一种线性时间复杂度的排序,输入的数据必须是有确定且范围不大的整数。...假如 H 省有 80 万考生,如何通过成绩快速排序得出排名呢? 再比如统计每个省人口的每个年龄人数并且从小到大排序,又如何实现呢?...计数排序的算法思想就是这么简单,跟桶排序非常类似,只是桶的大小粒度不一样。不过,为什么这个排序算法叫“计数”排序呢?“计数”的含义来自哪里呢?...我们如何计算出每个分数的考生在有序数组对应的存储位置呢?这个思路很巧妙,主要是对之前的 countArray[6] 做一下转换。

    1.2K10

    【说站】python计数排序法是什么

    python计数排序法是什么 概念 1、计数排序的主要思想是将待排序数据值转化为键,存储在额外开辟的数组空间中。...2、计数排序要求输入的数据必须是有确定范围的整数,因此计数排序法适用于量大范围小的数据。...实例 def count_sort(data, maxValue):  # 定义计数排序,data是列表数据,maxValue表示值     bucket_len = maxValue + 1  # 定义桶的长度是值加...1,桶号从0开始     bucket = [0] * bucket_len  # 初始化桶     count = 0  # 计数个数     arr_len = len(data)  # 列表长度...print("排序后列表数据:") for j in range(11):     print("%2d" % data2[j], end="") 以上就是python计数排序法的介绍,希望对大家有所帮助

    43730
    领券