给定平面中的一组P点,指定一个天真的强力算法来找到所有空顶点的集合,顶点在P中。(如果顶点a,b,c属于P的三角形为空,则为空不包含属于P的其他点d。)
我该如何开始解决这类问题?有没有我应该查看的现有算法,或者你认为我必须用几点来勾画它?
答案 0 :(得分:0)
选择P中a,b,c的所有可能组合.P中的其余点确定它们是否在三角形内。
我会把这个练习留给读者 - 这是一个三角法
答案 1 :(得分:0)
给定平面中的一组P点,指定一个天真的暴力 算法找到P中具有顶点的所有空三角形的集合。 (如果包含顶点a,b,c属于P的三角形是空的 没有其他d属于P。)
我该如何开始解决这类问题?
自下而上:
关键字是:迭代,谓词,过滤器。
自上而下也会奏效。那么你可能需要模拟函数来进行测试。但我不会看到优势与自下而上。
伪代码:
Triangle.contains (p: Point) : Boolean ()
Triangle.isEmpty (ps: Pointset) : Boolean =
ps.forAll (p => ! t.contains (p))
triangleset.filter (t => t.isEmpty (pointset))