• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            KISS(Keep It Simple, Standard)

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              10 Posts :: 0 Stories :: 24 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(10)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            最近做了路徑搜索,看了網上的描述真是晦澀,所以自己就整理下!
            圖畫的不太好, :)
            綠色的是節點,紅色的為權值,箭頭為可通行的標志.

            現在我們要從 0 節點 到 12 節點 找一條最優路徑:
            首先咱們要解決NODE點存貯的信息(結構):
            struct NodeBaseInfo
            {
               unsigned short nNodeID;   //番號
               unsigned long  nMeasure;            //權值
               NodeBaseInfo *pParent;            //父節點
            };

            我寫了簡單的結構大家可以根據自己需要定義(定義這個結構是為了更好理解)
            下面講的是最主要的了:
            DIJKSTAR算法中要定義兩個表:OPEN 和 CLOSE  (其實可以看作鏈表)
            他的原理就是把沒有遍歷的點放在 OPEN 表中,把從 OPEN表中遍歷到的最短權值的點放入
            CLOSE 表中,當插入 CLOSE表中的節點的番號于我們要的重點時算法結束;然后按照父節點(pParent)
            向上遞歸就可以得到我們要的最優路徑了。

            第一步:應為 OPEN 和CLOSE表都是空的,把起點(0節點)插入CLOSE標中,它的權值為0。把起點(0節點)附近的節點(因該為可通行的)插入OPEN 表中(最好按權值從大道小的順序插入,這樣取得最優值時,這樣速度就會很快)。(如示例圖)

            第2步:從OPEN表中找到權值最小的節點,把它插入CLOSE 表中, 把這個節點的可連通的節點查入OPEN
            表,(如果OPEN表中存在要查入的點,如果要插入的節點的權值比已經存在的小,就把已經查入的權值該為最小的,如果要插入的節點的權值比已經存在的大,就忽落它.)
            (為了更好的理解我把父節點也加入了,如示例圖)

            posted on 2008-02-01 16:13 QUIRE-0216 閱讀(3896) 評論(12)  編輯 收藏 引用 所屬分類: Arithmetic(算法)

            Feedback

            # re: 關于Dijkstra算法我的理解(上) 2008-07-28 19:54 duzhihua
            看看在說,別處寫的的確晦澀難懂,而且幾乎所有地方的描述都一樣  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2008-10-07 12:56 Vincent
            不錯,支持原創
            自己的研究成果,Dijkstra的進化。。。

            鄙視網上的大抄特抄  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2008-10-07 15:36 Vincent
            的確是Dijkstra

            畢竟是有限狀態空間的窮舉搜索,面對大規模數據時,不可以預測的情況增多,效率低下,任務甚至不能完成。

            優點:準確性高

              回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2008-10-07 16:00 Vincent
            使用權值 也就是A*里面的估價值重排Open表,有啟發式搜索的味道

            沒有點名使用估值函數,因為他已經吧估值函數的結果表示為權值了 呵呵



            就是A*了  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2009-04-28 22:17 vision
            簡單明了... 至少我看懂了... 其他頁面上的實在看不懂...  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2009-07-29 18:05 kfue
            dd  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2009-07-29 18:05 kfue
            非常好
              回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2009-08-14 20:37 D.K.
            頂你  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2009-08-31 20:27 Johnnx
            好象錯別字有些多  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2009-09-18 16:57 popo
            終于通過你這篇文章弄懂了Dijkstra算法...網上不少帖子,看得我不停走神
            你的文章雖然錯別字不少,但的的確確一目了然。贊一個!  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上)[未登錄] 2009-09-20 16:58 quire
            謝謝,Johnnx,popo兩位老兄提醒,下次一定注意,但是兩位仁兄也沒指出那兒錯了!很長時間沒上CPPBLOG了,看了Johnnx的主頁,好像都是算法,看來Johnnx數據結構研究的蠻多,還望賜教!  回復  更多評論
              

            # re: 關于Dijkstra算法我的理解(上) 2010-08-20 22:29 ri
            完全就不通順  回復  更多評論
              

            精品伊人久久大线蕉色首页| 久久久久久亚洲Av无码精品专口 | 国产成人精品久久一区二区三区av | 国产精品一区二区久久不卡| 久久久女人与动物群交毛片| 国产美女亚洲精品久久久综合| 久久人做人爽一区二区三区| 99久久国产综合精品女同图片| 午夜不卡久久精品无码免费| 久久精品天天中文字幕人妻| 久久国产精品久久国产精品| 久久996热精品xxxx| 久久精品免费全国观看国产| 久久综合香蕉国产蜜臀AV| 精品蜜臀久久久久99网站| 国产精品99久久久久久宅男| 久久亚洲精品国产亚洲老地址| 国产精品无码久久综合| 久久国产成人午夜aⅴ影院| 伊人久久大香线蕉av不卡| 久久九九亚洲精品| 无码8090精品久久一区| 精品国际久久久久999波多野| 91久久成人免费| 久久九九精品99国产精品| 久久人人爽人人爽人人片AV麻豆| 色妞色综合久久夜夜| 久久久久久久综合日本| 99re这里只有精品热久久| 久久久久亚洲av成人网人人软件| 久久综合狠狠综合久久激情 | 97精品国产97久久久久久免费| 丰满少妇人妻久久久久久4| 亚洲狠狠婷婷综合久久久久| 日本加勒比久久精品| 久久成人国产精品二三区| 日本欧美久久久久免费播放网| 中文字幕精品久久| 四虎亚洲国产成人久久精品| 国产 亚洲 欧美 另类 久久| 久久精品成人免费看|