码迷,mamicode.com
首页 > 编程语言 > 详细

【算法导论第五章】课后习题解析

时间:2015-08-02 18:07:50      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

---恢复内容开始---

5.1-1证明:假设在程序HIRE-ASSISTANT的第4行中,我们总是能够决定哪一个应聘者最佳,则意味着我们知道应聘者排名的总次序

  既然我们总是能够决定哪一个应聘者最佳,想必我们已经对应聘者进行比较了,既然已经进行比较,排序就不应是个问题,既然可以进行排序,总次序也就可以知道了

5.1-2描述RANDOM(a,b)过程的一种实现,它只调用RANDOM(0,1)。作为a和b的函数,你的程序的期望运行时间是多少?

   没看懂,不会做

5.2-1 

  分析:

  由5.1节中概率分析最后一段,可以的得出n位应聘者,有n!排序方式。正好雇佣一次的,也就是意味着第一位必须是最优秀的,其他位数随意排列,此时排列方式共有(n-1)!

此时的概率P = (n-1)!/n! = 1/n;

  正好雇佣n次,也就是要求排列顺序必须以严格遵循递增,此时共有1种排列法,故这种情况的概率p = 1/n!

5.2-2

  分析:

  首先共识第一位面试者必然会被雇佣,若恰好雇佣两次,则应该满足以下两个条件:
  

  (1).在第二位面试者被雇佣之前,不能出现比第一位最优秀的的面试人员。

  (2).第一位面试者绝不是最优,否者只会有一次雇佣者。

  设Ei表示1号应聘者被雇用的情况,其random为i,则对于任意给定的i,有P[Ei]=1/n,j代表最优应聘者,F表示2、3、...、j-1号应聘者的rank比1号助理低的情况P[F|Ei] = 1/(n-i)。则有刚好雇用两次的情况概率P = (1/n)∑1/(n-i)。

5.2-3

  分析:

  每次抛骰子的期望值E(X) = 1/6*(1+2+3+4+5+6) = 21/6;

  则n次抛骰子的期望值∑E = 7n/2。

5.2-4

  分析:

  假设该事件为事件A,则P(A) = 1/n

  期望E(A) = n*P(A) = 1

5.2-5

  分析:

 可以将问题转换成平面选点的问题,令i为横坐标,j为纵坐标,则j>i的概率P(j>i) = (n-1)/2n,又因为数组a为均匀分布,a[i]>a[j]的概率1/2,此时i<j且a[i]>a[j]的概率为

(n-1)/4n,则期望E = n*n*(n-1)/4n = n(n-1)/4。

5.4-1

  

 

 

 

---恢复内容结束---

【算法导论第五章】课后习题解析

标签:

原文地址:http://www.cnblogs.com/adslen/p/4696363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!