这篇文章给大家总结了关于JAVA中J桶排序的相关知识点和用法分享,有兴趣的读者跟着学习下。
前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督。本文从最简单的一个排序算法――桶排序开始,分析桶排序的实现思路,代码实现,性能特点以及适用场景。
0、其他排序算法索引
https://www.gaodaima.com/article/120879.htm
1、桶排序思想
一个简单例子:
对6个人的英语测试成绩(1~10分)进行排序。假如分数是[6,5,8,8,10,9],用桶排序的思想就是准备10个桶,编号依次为1~10,将成绩放入对应的桶中,例如6分放入6号桶,两个8分放入8号桶…然后按照桶的标号顺序逐一输出(有就输出,没有就不输出),这就是桶排序的基本思想。
事实上,这只是一个简易版,试想一下,如果待排序的元素跨度范围比较大,例如1~10000,是不是需要10000个桶?实际上这种情况下,一个桶里并非总放一个元素,很多时候一个桶里放多个元素。其实真正的桶排序和散列表有一样的原理。
实际排序中,通常对每个桶中的元素继续使用其他排序算法进行排序,所以更多前端的相关知识点总结的详细内容,更多请关注gaodaima搞代码网其它相关文章!