博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序(七)桶排序
阅读量:5015 次
发布时间:2019-06-12

本文共 519 字,大约阅读时间需要 1 分钟。

算法描述:

在已知数据的范围的条件下,创建若干个桶,根据相应的比较规则将待排数据落入各个对应的桶中,最后扫描 桶 来实现排序。

代码实现:

public static void bucketSort(int[] arr){        //找到最大元素        int max=arr[0];        for(int i=1;i
max){ max=arr[i]; } } BitSet buckets=new BitSet(max); for(int i=0;i

算法分析(数组长度n,桶的个数m):

  • 时间复杂度:

平均时间复杂度为线性的O(N+C),其中C=N*(logN-logM)。如果相对于同样的N,桶数量M越大,其效率越高,最好的时间复杂度达到O(N)。(m=n时)

  • 空间复杂度:

  空间复杂度为O(N+M),如果输入数据非常庞大,而桶的数量也非常多,则空间代价无疑是昂贵的。

  • 稳定性:稳定

转载于:https://www.cnblogs.com/amei0/p/8287194.html

你可能感兴趣的文章
解决 .so文件64与32不兼容问题
查看>>
归并排序法
查看>>
【剑指offer】面试题26:复杂链表的复制
查看>>
spark开发生成EXE
查看>>
Vue 全家桶介绍
查看>>
WPF Bitmap转Imagesource
查看>>
Java compiler level does not match the version of the installed Java project facet.解决方法
查看>>
笔记_小结
查看>>
Linux lsof命令 umount U盘
查看>>
自定义Font
查看>>
linux svn 服务端搭建
查看>>
linux时间同步ntp服务的安装与配置
查看>>
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法...
查看>>
网络编程-socket并发-粘包问题
查看>>
python 中安装pandas
查看>>
Hibernate 的<generator class="native"></generator>的不同属性含义
查看>>
linux修改root账户的用户名所得的教训
查看>>
【LeetCode】Flatten Binary Tree to Linked List
查看>>
读后感-浮生六纪
查看>>
执行指定路径的程序文件
查看>>