A 演算法總結

2021-10-08 10:52:45 字數 582 閱讀 4783

1、把起點加入 open list 。

2、重複如下過程:

a、遍歷 open list ,查詢 f 值最小的節點,把它作為當前要處理的節點。

b、把這個節點移到 close list 。

c、對當前方格的 8 個相鄰方格的每乙個方格?

◆ 如果它是不可抵達的或者它在 close list 中,忽略它。否則,做如下操作。

◆ 如果它不在 open list 中,把它加入 open list ,並且把當前方格設定為它的父親,記錄該方格的 f , g 和 h 值。

◆ 如果它已經在 open list 中,檢查這條路徑 ( 即經由當前方格到達它那裡 ) 是否更好,用 g 值作參考。更小的 g 值表示這是更好的路徑。如果是這樣,把它的父親設定為當前方格,並重新計算它的 g 和 f 值。如果你的 open list 是按 f 值排序的話,改變後你可能需要重新排序。

d、停止,當你

◆ 把終點加入到了 open list 中,此時路徑已經找到了,或者

◆ 查詢終點失敗,並且 open list 是空的,此時沒有路徑。

3、儲存路徑。從終點開始,每個方格沿著父節點移動直至起點,這就是你的路徑。

演算法導論 排序演算法總結

從六月初開始看演算法導論,陸陸續續看了有2個月了,但實際看的時間只有半個月左右。這期間都忙著找導師 期末考試,同時還回家修養了十來天。真正專心的看演算法是在離家返校後,由於沒有考試和作業的煩惱,天天都沉浸在演算法中,感覺效率較高。這段時間學到的東西較多,下面來總結一下 比較排序有 插入排序法 合併排...

回溯演算法 演算法總結(四)

回溯算法也叫試探法,它是一種系統地搜尋問題的解的方法。回溯演算法的基本思想是 從一條路往前走,能進則進,不能進則退回來,換一條路再試。用回溯演算法解決問題的一般步驟為 1 定義乙個解空間,它包含問題的解。2 利用適於搜尋的方法組織解空間。3 利用深度優先法搜尋解空間。4 利用限界函式避免移動到不可能...

演算法總結 1 演算法概述

演算法 演算法 algorithm 在thomas h.cormen書中的定義是求解良說明的計算問題的工具。這裡提到的良說明就是完全符合iso標準而不存在任何歧義的說明。一般來說,問題陳述說明了期望的輸入和輸出。演算法則是描述乙個特定的過程來實現該輸入 輸出的關係。進入例子 演算法好比是菜譜,我們的...