求教一个PHP二维数组转一维数组转二维数组最有效率的方法

这种写法比较垃圾表现在每次搜索一个点要遍历整个地图那么大的数组,如果地图为256*256每次搜索都要执行65535次,如果遍历多个点就是n*65535速度上实在是太垃圾了

open首先用来查詢是否有相同的点如果有会比较替换F值,其次用来遍历查询最小点如果用优先级队列加hash可以减少2次遍历,但是相同点替换F值和父节点就沒办法了只能遍历一次(但一般找到该找的点就可以break,不需要完整遍历)

之所以说这个A-star算法高效是因为它的open-list和close-list使用的完全是静态数组,这样就极大地降低了入栈出栈的负担这个代码非常值得推荐。

我要回帖

更多关于 一维数组转二维数组 的文章

 

随机推荐