美文网首页技术
桶排序 (Bucket sort)

桶排序 (Bucket sort)

作者: lxtyp | 来源:发表于2023-02-28 21:17 被阅读0次

桶排序 (Bucket sort):将数据分配到有限数量的有序桶里。

对如下一组数进行排序:3,5,1,4,12,18,19,20,9,3,15,7,0。(数据大小在0到20之间)

排序代码如下:

public void bucketSort() {
    int[] befArrays = {3, 5, 1, 4, 12, 18, 19, 20, 9, 3, 15, 7, 0};
    int[] buckets = new int[21];
    for (int i=0; i<befArrays.length; i++) {
        buckets[befArrays[i]]++;
    }

    for (int i=0; i<buckets.length; i++) {
        if (buckets[i]==0) {
            continue;
        } else {
            for (int j=0; j<buckets[i]; j++) {
                System.out.printf(i + "\t");
            }
        }
    }
}

桶排序对要排序的数据的有非常严格的要求。主要有以下两点:
首先,要排序的数据需要很容易就能划分成所需要的桶,并且,桶之间有着大小顺序。
其次,数据在桶之间的分布是比较均匀的。如果数据分配到了桶里,有些桶里非常多,有些非常少,很不平均,那桶内数据排序的时间复杂度就不是常量级了。在极端情的时候,如果数据都被分到同一个桶里,那就失去了该算法的意义。

总之,桶排序非常简单有效。但是使用场景极其有限。作为一个入门级的算法知识,能让我们感受到编程的快乐。桶排序还是相当推荐的。

相关文章

  • 排序(2)

    线性排序:Bucket sort,Counting sort,Radix sort 桶排序 数据能划分为m个桶,桶...

  • iOS 计数排序、基数排序、桶排序

      计数排序(Counting Sort)、基数排序(Radix Sort)、桶排序(Bucket Sort)适合...

  • 13|桶排序

    桶排序( Bucket sort )首先,我们来看桶排序。桶排序,顾名思义,会用到 “ 桶 ” ,核心思想是将要排...

  • 桶排序

    桶排序(BucketSort) 桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组...

  • 数组-桶排序

    采用桶排序方式对数组进行排序 桶排序百科:桶排序(Bucket Sort),或者所谓的箱排序是一种非比较排序.工作...

  • 排序算法(十一)桶排序

    排序算法(十一)桶排序   桶排序(Bucket sort)是计数排序改进版,同样属于非比较排序,该算法的基本思想...

  • 排序算法(3)- 桶排序、计数排序、基数排序

    桶排序(Bucket sort) 将要排序的数据分到几个有序的桶里,每个桶里面再单独进行排序,最后把每个桶里的数据...

  • 桶排序(Bucket Sort)

    引用:CSDN算法之美 海量数据 一年的全国高考考生人数为500 万,分数使用标准分,最低100 ,最高900 ,...

  • 桶排序 bucket sort

    桶排序 时间复杂度:线性介,平均、最好为O(n+k),最坏为0(n^2) 空间复杂度:O(n+k) 稳定性:稳定性...

  • 桶排序(Bucket Sort)

    1. 算法描述 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。桶排序 ...

网友评论

    本文标题:桶排序 (Bucket sort)

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