在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于XML鏈?zhǔn)浇Y(jié)構(gòu)的研究

            基于XML鏈?zhǔn)浇Y(jié)構(gòu)的研究

            作者: 時(shí)間:2015-09-17 來(lái)源:網(wǎng)絡(luò) 收藏

              簡(jiǎn)介:在數(shù)據(jù)結(jié)構(gòu)中,樹(shù)型結(jié)構(gòu)是一種非常重要的非線性結(jié)構(gòu),樹(shù)形結(jié)構(gòu)是結(jié)點(diǎn)之間有分支,并具有層次關(guān)系的結(jié)構(gòu)。非常適合表達(dá)樹(shù)的層次邏輯,為此將與數(shù)據(jù)庫(kù)技術(shù)結(jié)合起來(lái),實(shí)現(xiàn)樹(shù)的顯示和維護(hù)。

            本文引用地址:http://www.biyoush.com/article/280265.htm

              1 二叉鏈表的結(jié)構(gòu)

              在計(jì)算機(jī)中存儲(chǔ)一棵樹(shù),不僅要存儲(chǔ)樹(shù)中每個(gè)結(jié)點(diǎn)的數(shù)值,而且還要存儲(chǔ)結(jié)點(diǎn)與結(jié)點(diǎn)之間的關(guān)系。二叉樹(shù)(Binary Tree)是n(n≥0)個(gè)結(jié)點(diǎn)的有限集,它或者是空集(n=0),或者由1個(gè)根結(jié)點(diǎn)及2棵互不相交的、分別稱作這個(gè)根的左子樹(shù)和右子樹(shù)的二叉樹(shù)組成。

              2 樹(shù)形結(jié)構(gòu)的具體實(shí)現(xiàn)

              2.1 二叉鏈表結(jié)構(gòu)的設(shè)計(jì)

              給出一個(gè)二叉樹(shù)接點(diǎn)的Java接口,稱之為BinNode。BinNode類中存儲(chǔ)指向Object類的引用。創(chuàng)建二叉樹(shù)時(shí),可以根據(jù)需要而采用實(shí)際的數(shù)據(jù)類型。成員函數(shù)包括返回元素的值,返回左、右節(jié)點(diǎn)指針,設(shè)置元素的值,判斷該結(jié)點(diǎn)是否為葉結(jié)點(diǎn)。

              

             

              2.2 將數(shù)據(jù)庫(kù)中樹(shù)的信息轉(zhuǎn)化成XML

              初始條件:樹(shù)T存在,id是樹(shù)中某個(gè)結(jié)點(diǎn)編號(hào)。操作目的:將以id為根結(jié)點(diǎn)的子樹(shù)轉(zhuǎn)化為XML格式。算法思想:根據(jù)當(dāng)前根結(jié)點(diǎn)找出左孩子和右兄弟,添加當(dāng)前結(jié)點(diǎn)信息到XML中,然后遞歸以左孩子為根結(jié)點(diǎn)的子樹(shù),最后在遞歸以右兄弟為根結(jié)點(diǎn)的子樹(shù)。還要注意如果當(dāng)前結(jié)點(diǎn)為該樹(shù)的根結(jié)點(diǎn),則不能遞歸以它的右兄弟為根結(jié)點(diǎn)的子樹(shù)。

              算法描述:

              

             

              2.3 解析XML顯示樹(shù)形結(jié)構(gòu)

              將數(shù)據(jù)庫(kù)中以二叉鏈表結(jié)構(gòu)存儲(chǔ)的樹(shù)的信息通過(guò)上述方法轉(zhuǎn)化為所需的XML后,現(xiàn)在就可以通過(guò)操作XML文檔對(duì)象模型將數(shù)據(jù)島顯示在瀏覽器端。

              初始條件:XML形式的數(shù)據(jù)島。操作目的:通過(guò)JavaScript解析XML并以HTML的形式在瀏覽器端顯示樹(shù)。算法思想:將數(shù)據(jù)島加載到DOM對(duì)象后,向?yàn)g覽器添加根結(jié)點(diǎn)的HTML代碼,對(duì)DOM對(duì)象根結(jié)點(diǎn)的所有一級(jí)子結(jié)點(diǎn),再遞歸調(diào)用顯示其下一級(jí)子結(jié)點(diǎn)的HTML代碼。

              算法描述:

              

             

              2.4 基于樹(shù)形結(jié)構(gòu)的維護(hù)

              從數(shù)據(jù)庫(kù)中提取樹(shù)的信息后,在瀏覽器端樹(shù)上設(shè)置JavaScript事件,通過(guò)它們我們可以對(duì)該樹(shù)進(jìn)行維護(hù),包括插入、刪除、更新、移動(dòng)等操作。維護(hù)的時(shí)候,JavaScript事件將用戶對(duì)樹(shù)的維護(hù)情況記錄到XML對(duì)象中。

              

             

              其他刪除、更新、移動(dòng)結(jié)點(diǎn)操作需要對(duì)XML增加的信息與此相似。用戶維護(hù)結(jié)束,將該XML對(duì)象提交到服務(wù)器,后臺(tái)負(fù)責(zé)根據(jù)設(shè)置的插入、刪除等操作標(biāo)志解析上述XML對(duì)象,就可以生成相應(yīng)的插入、刪除、更新的SQL語(yǔ)句,最后提交到數(shù)據(jù)庫(kù)。另外需要注意的是,由于數(shù)據(jù)庫(kù)中存儲(chǔ)的二叉鏈表形式的各結(jié)點(diǎn)相互間有關(guān)聯(lián),所以對(duì)其進(jìn)行插入、刪除、移動(dòng)操作時(shí)候還必須考慮因此操作而引起的相關(guān)結(jié)點(diǎn)的信息的更新,比如當(dāng)刪除一個(gè)結(jié)點(diǎn)時(shí),除了需要?jiǎng)h除該結(jié)點(diǎn)外,還可能要修改其父結(jié)點(diǎn)的左孩子指針的值,或者需要修改其上一個(gè)兄弟結(jié)點(diǎn)的右兄弟指針的值。



            關(guān)鍵詞: XML

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉