2011年计算机等级考试二级C语言辅导实例编程(20)
文章作者 100test 发表时间 2011:03:17 20:48:10
来源 100Test.Com百考试题网
最小圆覆盖 随机增量算法
最小圆覆盖。神奇的随机算法。当点以随机的顺序加入时期望复杂度是线性的。
------------------------------------------------------------------------------------
algorithm:
A、令Ci表示为前i个点的最小覆盖圆。当加入新点pi时如果pi不在Ci-1里那么pi必定在Ci的边界上。
B、再从新考虑这样一个问题,Ci为前i个点最小覆盖圆且p在Ci的的边界上!同理加入新点pi时如果p
i不在Ci-1里那么pi必定在Ci的边界上。这时我们就包含了两个点在这个最小圆的边界上。
C、再从新考虑这样一个问题,Ci为前i个点最小覆盖圆且有两个确定点再边界上!此时先让
O(N)的方法能够判定出最小圆。
------------------------------------------------------------------------------------
analysis:
现在来分析为什么是线性的。
C是线性的这是显然的。
B