• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-05-09 05:46 Aet 隐藏边栏 |   抢沙发  5 
文章评分 2 次,平均分 5.0

简述

桶排序需要创建若干个桶来协助排序。

所谓桶,每个桶bucket代表一个区间范围,里面可以承载一个或多个元素。

复杂度

名称 最好 平均 最差 空间 稳定性
桶排序 n+k n nlog(n) n

实现

算法导论

桶排序思想,假设对数组A[p...r]排序,首先将这些元素进行hash运算,根据其hash值放入桶的对应区间中;然后对每一个区间中的元素进行排序;最后合并桶中各区间排序好的结果得到排序的数据:

  • hash算法必须满足:若 a<b ,则hash(a)<hash(b)
  • 要求 hash的结果尽量好,使得各数据平均分布在各区间内
  • 期望时间复杂度 O(n)
  • 非原地排序
  • begin : 待排序序列的起始迭代器(也可以是指向数组中某元素的指针)
  • end: 待排序序列的终止迭代器(也可以是指向数组中某元素的指针)
  • min_val:待排序序列元素的下界(不一定是最紧下界)
  • max_val:待排序序列元素的上界(不一定是最紧上界)

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2024-08-13
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享