算法导论第三版习题8.4

8.4-1

(1) 首先 n=A.length=10 ,然后让 B[0...9] 分别为一个空链表;
(2) 遍历数组 A ,将数组A中每一个元素 A[i] 都加到链表 B[nA[i]] 中,得到 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]= ;
(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=09 的顺序遍历 B[i] ,将其中的数据逐一取出置于另一数组 C 中,C={0.13,0.16,0.20,0.39,0.42,0.53,0.64,0.71,0.79,0.89},最后返回数组 C

8.4-2

因为当所有的元素都在同一个桶中且按降序排列时,在插入排序过程我们将需要的运行时间为Θ(n2)
可以将对桶中数据的排序方法换为归并排序或者其他最坏情况下运行时间为 Θ(nlgn) 的排序方法。

8.4-3

E[X2]=i=02i2P{Xi}=1224+2214=32

E2[X]=(i=02iP{Xi})2=(112+214)2=1

8.4-4

单位元的面积是 π ,我们将单位圆从圆心到圆周按面积等分为 n 个圆环,每个圆环的面积为πn。假设圆环内径和外径分别为 a,b ,那么就有 π(b2a2)=πn 。由于最内的圆环内径外径分别为0和 1n ,所以我们不难知道,所有圆环的内径序列为 ai={0,1n,2n,,in,,n1n}
然后我们就可以进行类似的桶排序:将BUCKET-SORT中的第6行换为 insert di into list B[n2di] 即可。

8.4-5

首先我们将求出 P(x)=0,1n,,n1n,1 时的 x 的取值序列,假设为X={x0,x1,,xn1,xn},然后我们按桶排序对这些数进行排序,将BUCKET-SORT算法的第6行改为

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值