(7)排序算法——桶排序

来源:互联网 发布:网络曝光平台 编辑:程序博客网 时间:2024/05/16 10:51

桶排序时间复杂度为O(n+N),空间复杂度也是O(n+N),适合小整数,n是线性表的大小,N为键值范围。

    public static <E> void bucketSort(E[] list){        E[] buckets=(E[])new java.util.ArrayList[N];        for(int i=0;i<list.length;i++){            int key=list[i].getKey();            if(buckets[key]==null)                buckets[key]=new java.util.ArrayList();            buckets[key].add(list[i]);        }        int k=0;        for(int i=0;i<buckets.length;i++){            if(buckets[i]!=null){                for(int j=0;j<buckets[i].size();j++)                    list[k++]=buckets[i].get(j);            }        }    }
0 0
原创粉丝点击