中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 多媒體制作 > A*尋路,二叉堆優(yōu)化及AS3實現(xiàn)
淺談flash web的結(jié)構(gòu) 回到列表 Apollo是危險的嗎?
 A*尋路,二叉堆優(yōu)化及AS3實現(xiàn)

作者:eidiot 時間: 2007-04-23 文檔類型:原創(chuàng) 來自:藍(lán)色理想

第 1 頁 A*尋路,二叉堆優(yōu)化及AS3實現(xiàn)
第 2 頁 牛刀小試 - A*尋路算法簡介
第 3 頁 如虎添翼 - 使用二叉堆優(yōu)化
第 4 頁 鋒芒畢露 - AS3代碼和示例

如何讓A*尋路更快?元帥三顧茅廬,請來南陽二叉堆先生幫忙優(yōu)化尋找“開啟士兵名錄”中最低F值的過程,將尋路速度提高了2到3倍,而且越大的地圖效果越明顯。下面隆重介紹二叉堆先生:

下圖是一個二叉堆的例子,形式上看,它從頂點開始,每個節(jié)點有兩個子節(jié)點,每個子節(jié)點又各自有自己的兩個子節(jié)點;數(shù)值上看,每個節(jié)點的兩個子節(jié)點都比它大或和它相等。

在二叉堆里我們要求:
* 最小的元素在頂端
* 每個元素都比它的父節(jié)點大,或者和父節(jié)點相等。

只要滿足這兩個條件,其他的元素怎么排都行。如上面的例子,最小的元素10在最頂端,第二小的元素20在10的下面,但是第三小的元素24在20的下面,也就是第三層,更大的30反而在第二層。

這樣一“堆”東西我們在程序中怎么用呢?幸運的是,二叉堆可以用一個簡單的一維數(shù)組來存儲,如下圖所示。


假設(shè)一個元素的位置是n(第一個元素的位置為1,而不是通常數(shù)組的第一個索引0),那么它兩個子節(jié)點分別是 n × 2 和 n × 2 + 1 ,父節(jié)點是n除以2取整。比如第3個元素(例中是20)的兩個子節(jié)點位置是6和11,父節(jié)點位置是1。

對于二叉堆我們通常有三種操作:添加、刪除和修改元素:

 * 添加元素
首先把要添加的元素加到數(shù)組的末尾,然后和它的父節(jié)點(位置為當(dāng)前位置除以2取整,比如第4個元素的父節(jié)點位置是2,第7個元素的父節(jié)點位置是3)比較,如果新元素比父節(jié)點元素小則交換這兩個元素,然后再和新位置的父節(jié)點比較,直到它的父節(jié)點不再比它大,或者已經(jīng)到達(dá)頂端,及第1的位置。
* 刪除元素
刪除元素的過程類似,只不過添加元素是“向上冒”,而刪除元素是“向下沉”:刪除位置1的元素,把最后一個元素移到最前面,然后和它的兩個子節(jié)點比較,如果較小的子節(jié)點比它小就將它們交換,直到兩個子節(jié)點都比它大。
* 修改元素
和添加元素完全一樣的“向上冒”過程,只是要注意被修改的元素在二叉堆中的位置。

可以看出,使用二叉堆只需很少的幾步就可以完成排序,很大程度上提高了尋路速度。

關(guān)于二叉堆先生需要了解的就是這么多了,下面來看看他怎么幫助元帥工作:   

* 每次派出的“預(yù)備士兵”都會獲得一個唯一的編號(ID),一直到尋路結(jié)束,它所有的數(shù)據(jù)包括位置、F值、G值、“父將”編號都將按這個ID存儲。
* 每次有新的“開啟士兵”加入,二叉堆先生將它的編號加入“開啟士兵名錄”并重新排序,使F值最低的ID始終排在最前面
* 當(dāng)有“開啟士兵”晉為“關(guān)閉將軍”,刪除“開啟士兵名錄”的第一個元素并重新排序
* 當(dāng)某個“開啟士兵”的F值被修改,更新其數(shù)據(jù)并重新排序

注意,“開啟士兵名錄”里存的只是人員的編號,數(shù)據(jù)全都另外存儲。不太明白?沒關(guān)系,元帥將在 第三部分 來次真刀實槍的大演兵。

經(jīng)典論壇討論:
http://bbs.blueidea.com/thread-2738527-1-1.html

出處:藍(lán)色理想
責(zé)任編輯:elesa

上一頁 牛刀小試 - A*尋路算法簡介 下一頁 鋒芒畢露 - AS3代碼和示例

◎進(jìn)入論壇Flash專欄版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
淺談flash web的結(jié)構(gòu)
雅致Flash打包工具1.0
用Flash制作的站長工具箱
Apollo是危險的嗎?
Apollo 開發(fā)技巧
作者文章
Conjee_Album 1.0 發(fā)布
AS3學(xué)習(xí)筆記
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大!熬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:3/41個記錄/頁 轉(zhuǎn)到 頁 共4個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2