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
的取值序列,假设为