generating permunation——全排列(算法汇总)
摘要:本文一共提供了4种全排列的方法,包括递归非字典序版本、递归字典序版本、标准库版本和BFS字典序版本,当然BFS非字典序实现相对于BFS字典序版本更加简洁,稍加修改即可。说明:递归版本基于网上现有代码修改而成,标准库版本参照msdn sample修改而成,最后的BFS版本是由本人在看到题目后思考而来,并实现之(递归版本很久之前写过),所有四种算法都加了模板。当然BFS版本效率相对于递归要快,相对于STL版本则较慢,仅仅提供一种思路而已。注:对于这种小算法,自己主动思考可以开阔思路,而且想出一种新思路感觉会很不错;对于已成型的经典或者复杂算法,新思路的空间会非常小,所以可以以掌握为主。/**@de
阅读全文
posted @
2013-09-30 00:39
Seiyagoo
阅读(1336)
推荐(0)
Voronoi Diagram——维诺图
摘要:Voronoi图定义任意两点p 和q 之间的欧氏距离,记作 dist(p, q) 。就平面情况而言,我们有dist(p, q) = (px-qx)2+ (py-qy)2设P := {p1, …, pn}为平面上任意 n 个互异的点;这些点也就是基点。按照我们的定义,所谓P对应的Voronoi图,就是平面的一个子区域划分——整个平面因此被划分为n 个单元(cell ),它们具有这样的性质: 任一点q位于点pi 所对应的单元中,当且仅当对于任何的pj∈Pj, j≠i,都有dist(q, pi)三元组。发生circle event时,并不知道这是一个false alarm,所以直到碰到该外接圆内部存
阅读全文
posted @
2013-09-25 23:01
Seiyagoo
阅读(25939)
推荐(4)