Skip to Main Content
算法技术手册(原书第2 版)
book

算法技术手册(原书第2 版)

by George T.Heineman, Gary Pollice, Stanley Selkow
August 2017
Intermediate to advanced content levelIntermediate to advanced
360 pages
8h 35m
Chinese
China Machine Press
Content preview from 算法技术手册(原书第2 版)
计算几何
241
计算几何
9.3.4 算法分析
我们在单位正方形内随机生成的二维点集上进行了
100
次实验,并且去掉了最好和最坏
的结果。表
9-2
所示为剩余
98
次实验的平均结果。这张表也展示了平均时间中,有多少
时间花费在启发式函数的计算上,可以很明显地看到
凸包扫描
算法最为高效。
随着输入数据规模的增长,越来越多(几乎有一半)的点被启发式函数删掉。而更令人
惊讶的是,规模如此之大的点集,却只需要如此之少的点便可组成凸包。表
9-2
的第2
列证明了
Preparata
Shamos
的论断(
1985
):他们认为构成凸包的点个数应该为
O(log
n
)
这是非常令人吃惊的结论。当然,点的分布情况也很重要:如果选择在一个单位圆内平
均分布的点集,那么凸包将会包含大概
n
的立方根个点。
9
-
2
:实验的结果
凸包中的 计算的 删除掉的 函数计算的 函数算法的
n
/ 平均点个数 平均时间 /ms 点的平均个数 / 平均时间 /ms 平均执行时间 /ms
4,096 21.65 8.95 2,023 1.59 4.46
8,192 24.1 18.98 4,145 2.39 8.59
16,384 25.82 41.44 8,216 6.88 21.71
32,768 27.64 93.46 15,687 14.47 48.92
65,536 28.9 218.24 33,112 33.31 109.74
131,072 32.02 513.03
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

Aurélien Géron
Go语言编程

Go语言编程

威廉·肯尼迪
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9787111562221