A*尋路演算法的思路

來源:互聯網
上載者:User

A*尋路:

1.把起始格添加到 "開啟列表"

2.

do

{
    尋找開啟列表中F值最低的格子, 我們稱它為當前格.
    把它切換到關閉列表.
    對當前格相鄰的8格中的每一個
    if (它不可通過 || 已經在 "關閉列表" 中)
    {
         什麼也不做.

    }

    if (它不在開啟列表中)
    {
        把它添加進 "開啟列表", 把當前格作為這一格的父節點, 計算這一格的 FGH
        if (它已經在開啟列表中)
        {
             if (用G值為參考檢查新的路徑是否更好, 更低的G值意味著更好的路徑)
            {
                 把這一格的父節點改成當前格, 並且重新計算這一格的 GF 度量.
           }

} while( 目標格已經在 "開啟列表", 這時候路徑被找到) ;

如果開啟列表已經空了, 說明路徑不存在.

  最後從目標格開始, 沿著每一格的父節點移動直到回到起始格, 這就是路徑.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.