【答案解析】(1)k=0
(2)j<=N或其等价形式
(3)k=k+1或其等价形式
(4)d[i]+6或其等价形式
[要点解析]
本试题的题干说明中已将无线网卡分布问题建模(如图1-16所示)。其中,直线表示无线网卡所在的直线,实心正方形表示无线网卡。而要求解的问题是要求如何在该直线上布局无线AP,使其能覆盖所有的无线网卡,并且所用无线AP的数量要尽可能的少。这是一个通过进行一系列选择求最优解的问题。
分析该问题,发现其具有最优子结构,并且具有贪心选择性质,故该问题可以用贪心算法来求解。贪心算法思想是:问题的规模为N,从第1个无线网卡(最左端)开始布局无线AP,把第1个无线AP放置在该无线网卡右方的6m处,此时该无线AP会覆盖从第1个无线网卡到该无线网卡右方直线长度为12m的所有无线网卡,假设覆盖了N
1个无线网卡。此时问题规模变成了N-N
1,接着把第1个无线AP覆盖的无线网卡去掉,再从N-N
1中选择第1个(最左端)无线网卡开始布局无线AP,将第2个无线AP放置在该无线网卡右方的6m处。依此布局,直到覆盖所布的无线网卡。
图1-20是问题解的模型。其中,直线表示无线网卡所在的直线,实心正方形表示无线网卡,实心圆形表示无线AP,虚线圆以对应无线AP为圆心,直径为无线AP的覆盖范围,即对应无线AP的覆盖范围(12米)。
