<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    歡迎使用我的 在線工具

    小D

    讀歷史、看小說、寫程序都是我所愛。技術(shù)不好,頭腦不靈光,靠的是興趣。
    隨筆 - 35, 文章 - 25, 評(píng)論 - 13, 引用 - 0
    數(shù)據(jù)加載中……

    A star算法弱弱的小結(jié)

    搞了N個(gè)小時(shí),終于杯具的把A*算法寫出來了,這里只能弱弱的小結(jié)一下:
    A*算法是一種啟發(fā)式算法:
    即每次迭代都進(jìn)行啟發(fā)式思考,判斷F值:
    我們維護(hù)兩個(gè)表,我這只用簡單的數(shù)組實(shí)現(xiàn)。
    OPEN表和CLOSE表
    OPEN表存儲(chǔ)我們待搜索的節(jié)點(diǎn)
    CLOSE表存儲(chǔ)已經(jīng)搜索好的節(jié)點(diǎn),這些節(jié)點(diǎn)都是每次啟發(fā)時(shí)F值最小的。
    A為其點(diǎn)
    B為終點(diǎn)

    F = H + G
    G = 從起點(diǎn)A,沿著產(chǎn)生的路徑,移動(dòng)到網(wǎng)格上指定方格的移動(dòng)耗費(fèi)。G = 距離(A) * 偏移量
    H = 從網(wǎng)格上那個(gè)方格移動(dòng)到終點(diǎn)B的預(yù)估移動(dòng)耗費(fèi)。這經(jīng)常被稱為啟發(fā)式的,
    ??? 可能會(huì)讓你有點(diǎn)迷惑。這樣叫的原因是因?yàn)樗皇莻€(gè)猜測。
    ??? 我們沒辦法事先知道路徑的長度,因?yàn)槁飞峡赡艽嬖诟鞣N障礙(墻,水,等等)。
    ??? 雖然本文只提供了一種計(jì)算H的方法,但是你可以在網(wǎng)上找到很多其他的方法。
    ??? H = (列距離(B) + 行距離(B)) * 偏移量
    我們選定上一次添加到CLOSE表的節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn)。
    然后依次判斷當(dāng)前節(jié)點(diǎn)的四個(gè)或八個(gè)方向的節(jié)點(diǎn)。如果這些節(jié)點(diǎn)是障礙,或者已經(jīng)在CLOSE表中,
    則不予考慮,否則將這些節(jié)點(diǎn)的父節(jié)點(diǎn)設(shè)為當(dāng)前節(jié)點(diǎn),這些節(jié)點(diǎn)如果也沒有在OPEN表中,
    則加入OPEN表,如果這些節(jié)點(diǎn)編號(hào)已經(jīng)出現(xiàn)在OPEN表中,則判斷他們的G值,G值小的留下,G值大的扔掉。
    如果G值也相同,保留后出現(xiàn)的。
    我們每次把OPEN表F值最小的節(jié)點(diǎn)刪去加入到CLOSE表中。
    但是如果存在兩個(gè)節(jié)點(diǎn)的F值相同呢?隨機(jī)選一個(gè)。
    如此反復(fù),直到我們將B點(diǎn)加入CLOSE表。
    如何得到我們的路徑呢?從B點(diǎn)依靠父節(jié)點(diǎn)向上遍歷就行了。

    注意一點(diǎn)。我們要保持OPEN表的有序就對(duì)了,顯然我們這里是通過F值來維持OPEN表的次序。
    而且每次添加新的節(jié)點(diǎn)到OPEN表時(shí)都要排序。當(dāng)然這里是用降序,這樣對(duì)于數(shù)組來說更好操作。

    感謝,網(wǎng)上朋友提供的詳細(xì)的資料。

    posted on 2009-12-31 17:21 vagasnail 閱讀(402) 評(píng)論(0)  編輯  收藏 所屬分類: C\C++

    主站蜘蛛池模板: 亚洲一线产品二线产品| 亚洲日本国产精华液| 一级毛片成人免费看a| 成人免费无码精品国产电影| 亚洲av无码一区二区三区观看| 最近免费最新高清中文字幕韩国 | 免费v片在线观看无遮挡| 亚洲精品永久在线观看| 成年女人免费v片| 亚洲精品久久无码av片俺去也| 日韩毛片免费在线观看| 美女被爆羞羞网站免费| 亚洲精品人成无码中文毛片 | 亚洲国产精品人人做人人爱| 成人免费视频一区二区| 国产亚洲精品久久久久秋霞| 99精品免费视品| 亚洲视频一区调教| 国产卡二卡三卡四卡免费网址 | 99久久国产免费-99久久国产免费| 亚洲美女人黄网成人女| 拨牐拨牐x8免费| 一级做a爰片久久毛片免费陪| 在线观看亚洲天天一三视| 日韩精品在线免费观看| 亚洲乱码一二三四区麻豆| 永久久久免费浮力影院| 精品一区二区三区免费观看| 911精品国产亚洲日本美国韩国 | 久久精品亚洲视频| 永久免费AV无码国产网站| 美女露100%胸无遮挡免费观看| 亚洲色成人中文字幕网站| 国产h视频在线观看免费| 羞羞网站在线免费观看| 亚洲AV无码专区国产乱码4SE| 91精品国产免费久久久久久青草| 羞羞视频免费观看| 亚洲精品午夜视频| 亚洲日韩国产精品乱| 国产成人精品免费视频动漫|