3、浅析桶排序

2019-12-14  本文已影响0人  lois想当大佬

适合数据量小、数据跨度不大的数据集排序
一、算法步骤【正序】:
1、定义一个桶
2、定义一个数组,把数组元素作为桶下标,逐个放入桶中

二、java代码

public class BucketSort {

    public static void main(String[] args) {
        int[] arr = {5, 3, 6, 6, 4, 2, 8, 8};
        int[] bucket = new int[100];

        bucketSort(bucket, arr);

        for (int i = 0; i < bucket.length; i++) {
            if (bucket[i] > 0) {
                System.out.println("数 = " + i + ",个数 = " + bucket[i]);
            }
        }
    }

    public static void bucketSort(int[] bucket, int[] arr) {

        for (int i = 0; i < arr.length; i++) {
            if (bucket[arr[i]] >= 1) {
                bucket[arr[i]] = bucket[arr[i]] + 1;
            } else {
                bucket[arr[i]] = 1;
            }

        }
    }
}

三、时间复杂度
F=O(N)

上一篇 下一篇

猜你喜欢

热点阅读