美文网首页
计数排序的原址排序

计数排序的原址排序

作者: 月咏蝴蝶 | 来源:发表于2016-02-22 23:00 被阅读112次

算法导论第八章思考题8-2.e答案,最后还是百度了答案,并不会,记录一下。

计数排序(稳定)
    for i = 0 to k
        c[i] = 0
    for j = 1 to A.length
        c[a[j]]++;  
    for i = 1 to k
        c[i]+=c[i-1];  
    for j = A.length down to 1
        b[c[a[j]]] = a[j]
        c[a[j]]--
计数排序原址排序(不稳定)
    for i = 0 to k
        c[i] = 0
    for j = 1 to A.length
        c[a[j]]++;  
    //将A初始化为0向量。  
    //之后无需插入0元素  
    for j = 1 to A.length
        A[j]=0;  
    //根据C中计数从后向前插入数据  
    //如果C[l]==C[l-1],说明l已经插入完毕或A中本来就没有l元素  
    for (int l=k;l>=1;l--)  
        while (C[l]!=C[l-1])  
            //这里C[l]--减去1是因为数组下标从0开始  
            A[(C[l]--)-1]=l;

相关文章

  • 计数排序的原址排序

    算法导论第八章思考题8-2.e答案,最后还是百度了答案,并不会,记录一下。

  • 数组-计数排序

    采用计数排序方式对数组进行排序 计数排序百科:计数排序(Counting Sort),计数排序是一个非基于比较的排...

  • php-计数排序、基数排序、桶排序

    计数排序、基数排序、桶排序 时间复杂度 O(n) 计数排序 基数排序 桶排序

  • 线性排序

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

  • 排序(二)

    选择排序 快速排序 归并排序 计数排序

  • 各种排序算法 python实现

    冒泡排序: 选择排序: 插入排序: 希尔排序: 堆排序: 快速排序: 计数排序:

  • 算法and数据结构

    算法 冒泡排序 选择排序 计数排序

  • 常见排序算法:

    插入排序 归并排序 堆排序 快速排序 计数排序 or

  • Swift 排序

    插入排序 归并排序 堆排序 快速排序 计数排序

  • # 算法:桶排序

    回顾一下计数排序 算法:计数排序 桶排序,是计数排序的升级版。解决了计数排序遗留的问题,当一组数据的最小值是100...

网友评论

      本文标题:计数排序的原址排序

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