搜索算法
    
    1.地图寻路问题(A,A*,IDA*)
    
    2.博弈问题(Alpha-Beta剪枝,SSS*,MemSSS*)
   
    职能算法
    
    1.遗传算法
    
    2.模拟退火
    
    3.禁忌搜索
    
    4.人工神经网络
   
    
    汇编优化:
    
    能用整数,则尽量不用浮点数;
    
    循环展开技术(比如100次降到50次):由于现代CPU具有分支预测技术,循环展开增加了代码量,更多占用CPU内部一级代码高速缓存的空间,循环展开远远不如原来有效。
    
    局部变量在堆栈中,这样可以重复使用内存,当一块内存被反复读写,其数据就会存在CPU的内部一级缓存中,访问速度非常快。而零散的静态变量则没有这个优势。内存同CPU内部缓存的数据交换,往往成为程序的速度瓶颈。
   
    
    除2的整数幂可以被优化成移位操作,但是我们并不主张把n/8写成n>>3,因为现代编译器会帮你做这件事。这里需要注意的是:如果你知道n肯定是个正数,而n又被声明成int时,写成(unsigned)n/8是有利于编译器帮你优化的。因为对于一个有符号的数字除以8并不完全等价于右移3位。
    
    实际上,即使除数不是2的整数幂,编译器的优化依然会消除除法,变成一次乘法加一次移位操作。让编译器有优化余地的唯一前提就是,让除数是一个常数,除了直接写除数,也可以用const int来定义。
    
    对于浮点运算,我们有更多的方法减少除法的运算次数(以下方法在特定条件下,使用一些技巧也同样适用于
   
 
版权声明:本文为Image_Graphics原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
