11 2012 档案
摘要:简介:代码的性能优化是一项非常重要的工作。经常可以看到,采用 C 或 C++ 编写的、功能正确的软件在执行时耗费大量的内存、时间、或者在最糟的情况下既耗内存又费时间。作为一名开发人员,可以使用 C/C++ 提供的功能强大的工具来改进处理时间,并且防止内存破坏,这些工具其中之一是控制如何在代码中分配或者释放内存。忆一下 C/C++ 中内存管理的基础知识。执行时,malloc 和 new 将向操作系统内核请求内存,而 free 和 delete 则请求释放内存。这意味着,操作系统必须在每次提出内存请求时在用户空间代码和内核代码之间进行切换。反复调用 malloc 或者 new 的程序,最终将由于不
阅读全文
摘要:A*算法是游戏非常常用的寻路算法。至于其理论知识就不贴出来了,网上太多了。一开始也没有看理论性太强的东西,先实现了再说。其实刚看完算法就有一种特想证明其正确性的想法。自我感觉A*算法和动态规划的思想是相同的(动态规划其实也不是熟悉,运筹学白学了)。f(n) = g(n) + h(n);0.节点信息{节点位置,父节点,F值,G值,H值},确定起始节点和终结节点;1.初始化开启队列、关闭队列(开启队列表示等待探索的节点集,关闭队列表示已经探索过的节点),将起始点信息加入开启队列中;2.在开启队列中找出 F 值最小的节点。若队列为空则返回失败,即未能找到路线到达终点的。将节点转到关闭队列中,若节点为
阅读全文

浙公网安备 33010602011771号