计数排序

计数,排序 · 浏览次数 : 4

小编点评

**博客地址:**https://www.cnblogs.com/zylyehuo/# _*_coding:utf-8_*_ **内容摘要:** 博客文章介绍了一种名为 `count_sort` 的 Python 函数,该函数使用计数排序算法对列表中的元素进行排序。计数排序是一种高效的排序算法,它通过在创建计数数组后,对数组元素进行计数,并将其排序后返回排序后的数组。 **代码示例:** ```python def count_sort(li, max_count=100): count = [0 for _ in range(max_count + 1)] for val in li: count[val] += 1 li.clear() for ind, val in enumerate(count): for i in range(val): li.append(ind) return li ``` **使用示例:** ```python li = [5, 3, 8, 2, 1, 9, 4] print(count_sort(li)) ``` **输出:** ``` [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] ``` **总结:** 博客文章介绍了一种名为 `count_sort` 的 Python 函数,该函数使用计数排序算法对列表中的元素进行排序。该函数使用一个计数数组来存储元素出现的频率,并对这些频率进行排序,最后返回排序后的数组。

正文

博客地址:https://www.cnblogs.com/zylyehuo/

# _*_coding:utf-8_*_

import random


def count_sort(li, max_count=100):
    count = [0 for _ in range(max_count + 1)]
    for val in li:
        count[val] += 1
    li.clear()
    for ind, val in enumerate(count):
        for i in range(val):
            li.append(ind)


li = [random.randint(0, 10) for _ in range(50)]
print(li)

count_sort(li)
print(li)

与计数排序相似的内容:

计数排序

博客地址:https://www.cnblogs.com/zylyehuo/ # _*_coding:utf-8_*_ import random def count_sort(li, max_count=100): count = [0 for _ in range(max_count + 1)]

基于桶的排序之计数排序

# 基于桶的排序之计数排序 作者:[Grey](https://www.cnblogs.com/greyzeng/) 原文地址: [博客园:基于桶的排序之计数排序](https://www.cnblogs.com/greyzeng/p/16928076.html) [CSDN:基于桶的排序之计数排序

LeetCode 周赛 342(2023/04/23)容斥原理、计数排序、滑动窗口、子数组 GCB

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 前天刚举办 2023 年力扣杯个人 SOLO 赛,昨天周赛就出了一场 Easy - Easy - Medium - Medium 的水场,不得不说 LeetCode 是懂礼数的 😁。 接

常见排序算法(汇总)

博客地址:https://www.cnblogs.com/zylyehuo/ 希尔排序:时间复杂度与选取的gap序列有关 计数排序: 时间复杂度:O(n) 桶排序: 时间复杂度:O(n+k) 最坏时间复杂度:O(n²k) 空间复杂度:O(nk) 基数排序: 时间复杂度:O(kn) 空间复杂度:O(k

CF1827

# CF1827 ## A. Counting Orders 简单计数。 两个都排序,双指针维护一下 `a[i]` 在 `b[p]` 的位置(`a[i] ## C. Palindrome Partition ~~回文好题~~。 考虑利用 `Manacher` 求出每一个偶数的回文串。 > 参考:[算

LeetCode 双周赛 104(2023/05/13)流水的动态规划,铁打的结构化思考

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 往期回顾:LeetCode 单周赛第 344 场 · 手写递归函数的通用套路 T1. 老人的数目(Easy) 标签:模拟、计数 T2. 矩阵中的和(Medium) 标签:模拟、排序 T3. 最大或值(Medi

【numpy基础】--数组排序

`numpy` 数组通常是用于数值计算的多维数组,而排序功能可以快速、准确地对数据进行排序,从而得到更加清晰、易于分析的结果。 在数据分析和处理过程中,常常需要对数据进行排序,以便更好地理解和发现其中的规律和趋势。 排序会应用在很多场景中,比如: 1. 数据分类:将数据按照一定的特征进行分类,可以通

ElasticSearch 实现分词全文检索 - filter查询

query,根据查询条件,去计算文档的匹配度得到一个分数,并且根据分数进行排序,不会做缓存。【精准匹配度高】 filter,根据查询条件去查询文档,不去计算分数,而且filter会对经常被过滤的数据进行缓存。【查询效率会高】

有序存储对于高性能的意义

摘要:有序存储是指将数据按照某些字段排序后再存储。在此基础上,我们可以实现某些高性能算法,利用数据有序的特征来降低计算复杂度,从而大幅提高计算性能。 本文分享自华为云社区《有序存储对于高性能的意义》,作者: 陈橘又青 。 有序存储是指将数据按照某些字段排序后再存储。在此基础上,我们可以实现某些高性能

【算法】在各种排列组合下,计算零钱找零方式数量

写一个函数,在给定一系列硬币面额的情况下,计算你可以用多少种不同的方式来兑换一笔钱。 例如,如果你有面额为1和2的硬币,有3种方法可以为4找零: 1+1+1+1,1+1+2,2+2。 硬币的顺序无关紧要: 1+1+2==2+1+1 此外,假设你有无限数量的硬币。 示例调用,一个金额和一系列独特面额的