對sunway程式中的bug所進行的修改drew 對這個問題進行了如下修正,當子節點在open表和closed表中時,重新計算估價值後,刪除open表中的老的節點,將有新估價值的節點插入open表中,重新排序,經測試效果良好,修改的**如下,紅色部分為drew新增的**.新增程序式的相應部分即可。
在函式generatesucc()中
...................................
g=bestnode->g+1; /*
g(successor)=g(bestnode)+cost of getting from bestnode to successor
*/tilenums=tilenum((int)x,(int)y); /*
identification purposes
*/if ((old=checkopen(tilenums)) !=null)
if(p->nodenum == old->nodenum)
else
q->nextnode = p->nextnode;
}insert(old);
//insert successor on open list wrt f
}
Facebook 對 PHP 的改進
php 是傳統意義上的解釋型語言,而不是編譯型語言。因此,在命令列或 web 伺服器呼叫直譯器解釋 php 之前,php 就是 php php 直譯器會解釋 php 指令碼,把 轉換為一系列 zend 操作碼 機器碼指令,再把這些操作碼交給 zend engine 執行。不過,解釋型語言執行的速度比...
LCS 演算法的改進
通常兩個字串的最大公共子串的問題是通過下面的演算法來完成的 把字串1 長度m 橫排,串2 長度n 豎排,得到乙個m n的矩陣c,矩陣的每個元素的值如下,如果m i n j 則c j i 1,否則,c j i 0。然後找出矩陣中連續是1的對角線最長的乙個,則對角線的長度就是公共子串的長度.一看這個方法...
冒泡演算法的改進
氣泡排序演算法的思想 首先將第乙個記錄的關鍵字和第二個關鍵字進行比較,若為逆序則將兩個記錄進行交換。然後比較第二個記錄和第三個記錄的關鍵字,直至第n 1個記錄和第n個記錄進行比較為止,一趟過後最大的元素會沉入最底部。然後進行第二趟排序,對前 n 1 個記錄進行同樣1 2的操作,結果就是關鍵字次大的記...