算法效率分析习题
1. 选择手套
- 问题:在一个抽屉里有 22 只手套:5 双红手套、4 双黄手套和 2 双绿手套。你在黑暗中挑选手套,而且只能在选好以后才能检查它们的颜色。在最优的情况下,你最少选几只手套就能找到一双匹配的手套?在最差的情况下呢?
- 答:最优情况:2只;最差情况:12只。
2. 丢失的袜子
-
问题:假设在洗了 5 双各不相同的袜子以后,你发现有两只袜子找不到了。当然,你希望留下数量最多的完整袜子。因此,在最好的情况下,你会留下 4 双完整的袜子;而在最坏的情况下,只会有 3 双完整的袜子。假设10只袜子中,每只袜子丢失的几率都相同,请找出最佳情况的发生概率和最差情况的发生概率。在平均情况下,你能够指望留下几双袜子呢?
-
答:
P b e s t = C 5 1 × C 2 2 C 10 2 = 1 9 P_{best}=\frac{C_{5}^1\times C_{2}^2}{C_{10}^2}=\frac{1}{9} Pbest=C102C51×C22=91P w o r s t = 1 − 1 9 = 8 9 O r P w o r s t = C 5 2 × C 2 1 × C 2 1 C 10 2 = 8 9 P_{worst}=1-\frac{1}{9}=\frac{8}{9} \quad Or \quad P_{worst}=\frac{C_{5}^2 \times C_{2}^1 \times C_{2}^1}{C_{10}^2}=\frac{8}{9} Pworst=1−91=98OrPworst=C102C52×C21×C21=98
E = 1 9 × 4 + 8 9 × 3 = 28 9 E = \frac{1}{9}\times4+\frac{8}{9}\times3 = \frac{28}{9} E=91×4+98×3=928