返回类型为double,最终结果并不大,但是前面系数为0.1、1、10时性能差距非常明显,难度 10 * 10
会比 1 * 1
更快?
算法是A*
,不过感觉貌似跟算法没太大关系?
return 0.01 * ((from_node.x - to_node.x == 0 ||
from_node.y - to_node.y == 0) ? 1 : ksqrt2);
这是在release模式下生成的,1和0.1不明显,可能本身都不大,但是10就很明显了,而且debug下模式下 乘10的结果算出来得30多秒,惨不忍睹....
retun的值是graph.cost()
光是这句话不可能有毫秒甚至秒级的计算时间,你这外边有递归或者迭代吗?数据不同可能会影响递归或者迭代的次数,从而影响性能。