黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 一文弄懂3種樹的存儲結構

一文弄懂3種樹的存儲結構

更新時間:2020-12-03 17:25:10 來源:動力節點 瀏覽4541次

樹是一種重要的非線性數據結構,直觀地看,它是數據元素(在樹中稱為結點)按分支關系組織起來的結構,很象自然界中的樹那樣。樹中的某個結點的孩子可以有多個,所以僅僅使用簡單的順序結構或者鏈式結構是不能完全表示一整棵樹的。充分利用順序存儲結構和鏈式存儲結構的特點,完全可以實現對樹的存儲結構的表示。

樹的存儲結構可以分為3種:雙親表示法,孩子表示法和孩子兄弟表示法

1.雙親表示法

采用的一組連續的存儲空間來存儲每個節點。以雙親作為索引的關鍵詞的一種存儲方式。每個結點只有一個雙親,所以選擇順序存儲占主要。

根節點沒有雙親,所以其在數組中存儲的值為-1。

其余的節點,只需要存儲其父節點對應的數組下標即可。

image.png 

代碼解釋:

// 雙親表示法#define MAX_SIZE 100typedef?int?ElemType;
typedef?struct?PTNode{
????ElemType?data;
????int?parent;}PTNode;
typedef?struct?PTree{
????PTNode?nodes[MAX_SIZE];
????int?n;}PTree;

 2.孩子表示法

將每個節點的孩子節點都用單鏈表連接起來形成一個線性結構,n個節點具有n個孩子鏈表。由于每個結點可有多個子樹(無法確定子樹個數),可以考慮使用多重鏈表來實現。

image.png 

代碼解釋:

// 孩子表示法typedef?int?ElemType;#define MAX_SIZE 100typedef?struct?CNode{
????int?child;
????struct?CNode?*next;}CNode;
typedef?struct?PNode{
????ElemType?data;
????struct?CNode?*child;}PNode;
typedef?struct?CTree{
????PNode?nodes[MAX_SIZE];
????int?n;}CTree;

3.孩子兄弟表示法

以二鏈表作為樹的存儲結構,又稱二叉樹表示法。任意一棵樹,他的結點的第一個孩子如果存在就是唯一結點,他的右兄弟如果存在,也是唯一的,因此,我們設置兩個指針,分別指向該結點的第一個孩子和該結點的右兄弟。

 image.png

使用孩子兄弟表示法需要將樹轉換為二叉樹。

轉換前:

image.png

轉換后:

image.png

代碼解釋:

typedef?int?ElemType;typedef?struct?Node{
????ElemType?data;
????struct?Node?*FirstChild;
????struct?Node?*NextBrother;
????}Node,TREE;

以上就是3種樹的存儲結構,順序結構或者鏈式結構只能表示一棵樹的部分結構,只有結合雙親表示法,孩子表示法和孩子兄弟表示法才能完整的表示出一顆樹的結構。對于樹的順序結構和者鏈式結構在本站的數據結構和算法教程中有更加詳細的講解,感興趣的小伙伴不要錯過哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产在线观看网址在线视频 | 在线观着免费观看国产黄 | 免费黄色在线看 | 九九碰 | 国产欧美精品一区二区三区–老狼 | 日韩欧美一区二区三区在线观看 | 第九色激情 | 黄色免费看网站 | 国产三级a三级三级天天 | 黄色录像免费观看 | 国产精品丝袜在线观看 | 国内精品视频九九九九 | 在线亚洲欧美性天天影院 | 日本三级香港三级人妇网站 | vk挠脚心tk| 欧美成人免费xxx大片 | 亚洲系列第一页 | 好吊色妇女免费视频免费 | 亚洲福利天堂网福利在线观看 | 91国内外精品自在线播放 | 成人高清毛片a | 日本又色又爽又黄的大片 | 一级做a爱过程免费视频高清 | 国产成人免费高清视频网址 | 第一区免费在线观看 | 国产日本欧美在线观看 | 成人羞羞免费视频 | 五月激情六月丁香 | 欧美曰b| 999精品在线 | 久久91亚洲精品中文字幕 | 五月丁香啪啪 | 亚洲手机国产精品 | 日本福利网址 | 国产亚洲一区二区精品张柏芝 | 小明免费看看 | 特黄aaaaaaaaa及毛片 | 一个人在线观看www视频 | 成人免费大片a毛片 | 成片免费观看视频在线网 | 欧美人猛交日本人xxx |