#885. 算法基础-桶排序与计数排序

算法基础-桶排序与计数排序

桶排序:是若待排序的值在一个明显有限范围内(整型)时,可设计有限个有序桶,待排序的值装入对应的桶(当然也可以装入若干个值),桶号就是待排序的值,顺序输出各桶的值,将得到有序的序列。

计数排序:是一种特殊的桶排序,它将序列的数与该数的个数建立映射,将‘个数’存储在以‘数’为编号的桶中,利用桶的编号是有序的,遍历桶来进行排序。

桶排序和计数排序是一种用空间换时间的排序方法,当待排序的数据范围较大时,消耗的空间就越大。所以桶排序和计数排序的元素序列中的最大值与最小值的差不能太大,并且元素只能是非负整数。

1、关于计数排序的描述,正确的是( ) ({{ select(1) }})

  • 计数排序不需要使用额外的存储空间。
  • 计数排序是一种基于比较的排序算法。
  • 如果待排序的数列的最大值与最小值之差很大,则不适宜用计数排序。
  • 计数排序可以对小数进行排序。

2、有9个外观相同而重量不相同的球,有一台仪器可以同时给三个球比较重量,问最少要使用这台仪器{{ input(2) }}次,就可以找出最重的球和第二重的球。

3、体育老师要从班里的25名学生中,选出跑得最快的三名同学参加校运会,学校操场有5条跑道,每场比赛可以决出5名同学名次,假设每个同学的速度都不相同,并且每个同学的跑步成绩是稳定的,在老师没有计时器的情况下,问最少要经过({{ input(3) }})场比赛,才能得出前三名?

4、小羽和小润在玩一个游戏,在桌面上有50颗从小到大排列的弹珠,还有一个带有一个圆形洞的盒子,现在小润要挑选一个大小刚好能放进盒子的弹珠,只有一颗弹珠的大小刚好匹配洞口,请问至少要挑选几次,才能确保找到合适的弹珠?({{ input(4) }})

5、对有序数列{1 3 15 19 24 27 36 41 56 63 76 88 99 }进行二分法查找,成功查找到19的比较次数是({{ input(5) }})次。