名稱(chēng):樹(shù)存儲(chǔ)結(jié)構(gòu)的幾種表示方法
望奎網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái)到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
說(shuō)明:對(duì)于樹(shù)的存儲(chǔ)結(jié)構(gòu),一般有以下三種表示方法。
總之,選用不同的存儲(chǔ)結(jié)構(gòu)要根據(jù)具體的用途。(這當(dāng)然是廢話(huà))。想說(shuō)的是,在做一些題的時(shí)候,如果可以不用選用二叉樹(shù)這種相對(duì)復(fù)雜的存儲(chǔ)結(jié)構(gòu),那就選擇線(xiàn)性的結(jié)構(gòu)。對(duì)我來(lái)說(shuō),線(xiàn)性結(jié)構(gòu)比二維的樹(shù)的結(jié)構(gòu)用的順手。
//樹(shù)的存儲(chǔ)結(jié)構(gòu)之雙親表示法 //樹(shù)的結(jié)點(diǎn)定義 typedef struct { int data; //數(shù)據(jù)元素 int parent; //雙親的位置 }PTNode; //樹(shù)的類(lèi)型定義 typedef struct { //PTNode nodes[MAXSIZE]; //雙親表示 int n; //結(jié)點(diǎn)數(shù) }PTree; //樹(shù)的存儲(chǔ)結(jié)構(gòu)之孩子表示法 //鏈表中孩子結(jié)點(diǎn)表示 typedef struct CHNode { int pos; //孩子的位置 CHNode *next; //指向下一個(gè)孩子的指針 }CHNode; //數(shù)組中雙親結(jié)點(diǎn)表示 typedef struct CHNode1 { int data; //數(shù)據(jù)元素 CHNode *firChild; //指向第一個(gè)孩子的指針 }CHNode1; //樹(shù)的類(lèi)型表示 typedef struct { CHNode1 nodes[MAXSIZE]; //所有的結(jié)點(diǎn) int n; //節(jié)點(diǎn)的個(gè)數(shù) }CHTree; //樹(shù)的存儲(chǔ)結(jié)構(gòu)之孩子兄弟表示法 typedef struct CSNode { int data; //結(jié)點(diǎn)的數(shù)據(jù) CSNode *firstchild,*nextbling; //第一個(gè)孩子和下一個(gè)兄弟 }CSNode,*CSTree;
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接