大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

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

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

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

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久久成人影院 | 中文字幕免费视频精品一 | 在线免费观看一级毛片 | 青青爽国产手机在线观看免费 | 精品一久久香蕉国产线看播放 | 国产午夜爽爽窝窝在线观看 | 日本三级强在线观看 | 日日夜夜操视频 | 青娱乐国产在线视频 | 伊人五月天婷婷琪琪综合 | 国产精品久久久久天天影视 | 2019国产精品视频 | 日日噜噜夜夜躁躁狠狠 | 欧美亚洲国产色综合 | 欧美激情在线一区二区三区 | 黄色免费毛片 | 香蕉视频看片 | 久久一日本道色综合久久 | 亚洲免费成人网 | 久久久久无码国产精品一区 | 99国产福利| 免费一级毛片在线播放欧美 | 一区亚洲 | 午夜一级毛片不卡 | 中文字幕久精品免费视频蜜桃视频 | 国产婷婷色 | 91热爆在线| 欧美成人性色 | 国产三级精品三级男人的天堂 | 亚洲综合精品香蕉久久网97 | 九九久久国产精品免费热6 九九久久精品 | 在线观看日韩精品 | 福利岛国深夜在线 | 国产一区日韩二区欧美三 | 99re6这里有精品热视频在线 | 免费黄色在线观看 | 国产色婷婷精品免费视频 | 在线人成精品免费视频 | 成人a一级毛片免费看 | 国产第九页 | 国产三级日产三级日本三级 |