8.4-1
(1) 首先n=A.length=10,然后让B[0...9]分别为一个空链表;
(2) 遍历数组A,将数组
(3) 然后对B[0...9]分别进行插入排序,得到B[0]=∅,B[1]={0.13,0.16},B[2]={0.20},B[3]={0.39},B[4]={0.42},B[5]={0.53},B[6]={0.64},B[7]={0.71,0.79},B[8]={0.89},B[9]=∅;
(4) 然后按i=0到9的顺序遍历B[i],将其中的数据逐一取出置于另一数组C中,
8.4-2
因为当所有的元素都在同一个桶中且按降序排列时,在插入排序过程我们将需要的运行时间为
可以将对桶中数据的排序方法换为归并排序或者其他最坏情况下运行时间为Θ(nlgn)的排序方法。
8.4-3
8.4-4
单位元的面积是π,我们将单位圆从圆心到圆周按面积等分为n个圆环,每个圆环的面积为
然后我们就可以进行类似的桶排序:将BUCKET-SORT中的第6行换为insert di into list B[⌊n2di⌋]即可。
8.4-5
首先我们将求出P(x)=0,1n,⋯,n−1n,1时的x的取值序列,假设为