美文网首页
Java排序算法分析与实现(8)------计数排序

Java排序算法分析与实现(8)------计数排序

作者: 咖啡少年不加糖whm | 来源:发表于2019-10-09 10:51 被阅读0次

一、原理

计数排序是一种稳定的排序算法,核心在于将输入的数据值变化为键存储在额外开辟的数组空间中。作为一种限行时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。

(1)找出待排序数组中的最大值和最小值
(2)通过最大值最小值确定中间数组的长度,
(3)循环旧数组计数排序,统计原始数组值出现的次数,存入中间数组C中
(4)创建最终数组,与原始数组长度相同,反向填充数组,将每个元素i放在新数组的第C[i]项,每放一个元素就将C[i]减去1

最佳情况: T(n) = O(n + k)    最差情况:T(n) = O(n+k)    平均情况: T(n) = O(n+k)

二、代码实现

相关文章

  • Java排序算法分析与实现(8)------计数排序

    一、原理 计数排序是一种稳定的排序算法,核心在于将输入的数据值变化为键存储在额外开辟的数组空间中。作为一种限行时间...

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • 排序算法-8---计数排序

    # 排序算法-8---计数排序 概念 计数排序(Counting sort)是一种稳定的线性时间排序算法。该算法于...

  • python实现计数排序(CountSort)

    python实现【计数排序】(CountSort) 算法原理及介绍 计数排序不是基于比较的排序算法,其核心在于将输...

  • 【算法】排序(一)选择排序

    在排序算法中,最简单的莫过于选择排序了。 本文将介绍以下内容 排序思路算法实现(JAVA)测试阶段算法分析 排序思...

  • (转)排序算法

    排序算法点这里 数据结构与算法——计数排序、桶排序、基数排序

  • 算法-排序算法总结

    排序类型总结 1 排序算法基础实现 2 排序算法应用 2.1 基础排序 2.2 计数排序应用 2.3 快排应用 2...

  • 线性排序

    桶排序、计数排序、基数排序 一、线性排序算法介绍 1.线性排序算法包括桶排序、计数排序、基数排序。2.线性排序算法...

  • Hash算法

    数据结构与算法分析:大纲数据结构:数组算法:hash算法算法:排序算法Java实现 1 Hash算法? 将任意长度...

  • 排序

    八大排序算法 一、归并排序 递归及非递归的JAVA实现 二、快速排序 快排算法JAVA实现 三、堆排序 堆排序堆排...

网友评论

      本文标题:Java排序算法分析与实现(8)------计数排序

      本文链接:https://www.haomeiwen.com/subject/gzahuctx.html