2012年3月20日

Astar算法

摘要: A Star算法是一智能找最短路径算法(下面简称A算法), 与 Dijkstra算法相比,A算法访问的节点比较少,因此可以缩短搜索时间。他的算法思想是:这里有公式f 最终路径长度f = 起点到该点的已知长度h + 该点到终点的估计长度g。 O表(open): 待处理的节点表。 C表(close): 已处理过的节点表。算法流程:1. 从起点开始,起点的f = 1 + g, 1表示此节点已走过的路径是1,g是此节点到终点的估计距离, 放入链表O中。可以假设g值的计算使用勾股定理公式来计算此点到终点的直线距离。2. 当O不为空时,从中取出一个最小f值的节点x。3.如果x等于终点,找到路径,算法结束. 阅读全文

posted @ 2012-03-20 23:01 andy_ 阅读(3176) 评论(3) 推荐(0)

康托展开

摘要: 来自 http://archive.cnblogs.com/a/2026276/在上一篇的方法一里,我们使用把数组的下标每次增加1的方法得到重复的全排列,然后再挑出不重复的全排列。如下图所示,绿颜色表示想要得到的结果。0 0 00 0 10 0 20 1 00 1 10 1 20 2 00 2 10 2 21 0 01 0 11 0 21 1 01 1 11 1 21 2 01 2 11 2 22 0 02 0 12 0 22 1 02 1 12 1 22 2 02 2 12 2 2 这种方法虽然简单,但是效率比较差。要生成n个元素的全排列需要遍历 nn 次才能得到 n! 个解(看上面那个绿. 阅读全文

posted @ 2012-03-20 22:01 andy_ 阅读(280) 评论(0) 推荐(0)

导航