1 A*搜索算法簡介
A*搜索算法是一種啟發(fā)式搜索算法。所謂啟發(fā)式搜索算法,就是在盲目搜索算法中加入一個啟發(fā)函數(shù),在當前節(jié)點搜索完畢后,通過這個啟發(fā)函數(shù)來進行計算,選擇代價最少的節(jié)點作為下一步搜索的節(jié)點。通過這樣的方式就能夠找到最優(yōu)解。
DFS,BFS這兩種搜索方式都屬于盲目的搜索方式,它不會在選擇下一個節(jié)點的時候進行代價計算,而是按照一個固定的方式選擇,這樣在運氣不好的情況,會對所有節(jié)點進行遍歷。
A*搜索算法的核心就在于如何設計一個好的啟發(fā)函數(shù),啟發(fā)函數(shù)的表達形式一般如下:
f