• <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++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              10 Posts :: 0 Stories :: 24 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(10)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            最近做了路徑搜索,看了網(wǎng)上的描述真是晦澀,所以自己就整理下!
            圖畫的不太好, :)
            綠色的是節(jié)點(diǎn),紅色的為權(quán)值,箭頭為可通行的標(biāo)志.

            現(xiàn)在我們要從 0 節(jié)點(diǎn) 到 12 節(jié)點(diǎn) 找一條最優(yōu)路徑:
            首先咱們要解決NODE點(diǎn)存貯的信息(結(jié)構(gòu)):
            struct NodeBaseInfo
            {
               unsigned short nNodeID;   //番號(hào)
               unsigned long  nMeasure;            //權(quán)值
               NodeBaseInfo *pParent;            //父節(jié)點(diǎn)
            };

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

            第一步:應(yīng)為 OPEN 和CLOSE表都是空的,把起點(diǎn)(0節(jié)點(diǎn))插入CLOSE標(biāo)中,它的權(quán)值為0。把起點(diǎn)(0節(jié)點(diǎn))附近的節(jié)點(diǎn)(因該為可通行的)插入OPEN 表中(最好按權(quán)值從大道小的順序插入,這樣取得最優(yōu)值時(shí),這樣速度就會(huì)很快)。(如示例圖)

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

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

            Feedback

            # re: 關(guān)于Dijkstra算法我的理解(上) 2008-07-28 19:54 duzhihua
            看看在說,別處寫的的確晦澀難懂,而且?guī)缀跛械胤降拿枋龆家粯?nbsp; 回復(fù)  更多評(píng)論
              

            # re: 關(guān)于Dijkstra算法我的理解(上) 2008-10-07 12:56 Vincent
            不錯(cuò),支持原創(chuàng)
            自己的研究成果,Dijkstra的進(jìn)化。。。

            鄙視網(wǎng)上的大抄特抄  回復(fù)  更多評(píng)論
              

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

            畢竟是有限狀態(tài)空間的窮舉搜索,面對(duì)大規(guī)模數(shù)據(jù)時(shí),不可以預(yù)測(cè)的情況增多,效率低下,任務(wù)甚至不能完成。

            優(yōu)點(diǎn):準(zhǔn)確性高

              回復(fù)  更多評(píng)論
              

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

            沒有點(diǎn)名使用估值函數(shù),因?yàn)樗呀?jīng)吧估值函數(shù)的結(jié)果表示為權(quán)值了 呵呵



            就是A*了  回復(fù)  更多評(píng)論
              

            # re: 關(guān)于Dijkstra算法我的理解(上) 2009-04-28 22:17 vision
            簡(jiǎn)單明了... 至少我看懂了... 其他頁(yè)面上的實(shí)在看不懂...  回復(fù)  更多評(píng)論
              

            # re: 關(guān)于Dijkstra算法我的理解(上) 2009-07-29 18:05 kfue
            dd  回復(fù)  更多評(píng)論
              

            # re: 關(guān)于Dijkstra算法我的理解(上) 2009-07-29 18:05 kfue
            非常好
              回復(fù)  更多評(píng)論
              

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

            # re: 關(guān)于Dijkstra算法我的理解(上) 2009-08-31 20:27 Johnnx
            好象錯(cuò)別字有些多  回復(fù)  更多評(píng)論
              

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

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

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

            久久久久久久波多野结衣高潮| 亚洲国产精品18久久久久久| 久久99国产精一区二区三区| 四虎国产精品成人免费久久| 久久成人国产精品二三区| 狠狠色噜噜色狠狠狠综合久久 | 久久影院亚洲一区| 日韩精品国产自在久久现线拍| 日韩AV无码久久一区二区| 亚洲成色WWW久久网站| 久久丫忘忧草产品| 欧美久久久久久| 99久久精品国产一区二区 | 66精品综合久久久久久久| 精品久久久久久| 亚洲精品国产成人99久久| 成人精品一区二区久久| 国产精品免费看久久久香蕉| 国内精品久久久久久久coent | 久久最近最新中文字幕大全 | 无码人妻精品一区二区三区久久久| 亚洲精品国产第一综合99久久 | 国产69精品久久久久久人妻精品| 久久人人爽人人爽人人片AV高清 | 亚洲综合精品香蕉久久网97| 99久久99久久精品国产片| 久久亚洲视频| 久久这里只有精品18| 99久久精品国产免看国产一区| 日本三级久久网| 久久久精品人妻一区二区三区蜜桃| 精品多毛少妇人妻AV免费久久| 久久夜色精品国产噜噜麻豆| 天天综合久久久网| 久久只有这里有精品4| 国产成人久久激情91| 欧美久久久久久精选9999| 性欧美丰满熟妇XXXX性久久久 | 性做久久久久久久| 久久精品无码专区免费| 亚洲综合日韩久久成人AV|