数据结构课上笔记12
生活随笔
收集整理的這篇文章主要介紹了
数据结构课上笔记12
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二叉樹的存儲結構?
?
順序存儲結構
?
完全二叉樹:用一組地址連續的 存儲單元依次自上而下、自左至右存 儲結點元素,即將編號為 i ?的結點元 素存儲在一維數組中下標為 i –1 的分量中。
一般二叉樹:將其每個結點與完 全二叉樹上的結點相對照,存儲在一 維數組的相應分量中。
?
最壞情況:樹退化為線性后:
我們要把它“變”成這個大家伙來存了:
深度為 k 的且只 有 k 個結點的右單支樹需要 長度為2^k-1 的一維數組。?
?
鏈式存儲結構
lchild和rchild都是指向相同結構的指針
在 n 個結點的二叉鏈表中有 n + 1 個空指針域。
typedef struct BiTNode { // 結點結構TElemType data;struct BiTNode *lchild,*rchild;// 左右孩子指針 } BiTNode, *BiTree;可以多一條指向父的指針。
?
遍歷二叉樹
?
順著某一條搜索路徑巡訪二叉樹中的結點,使 ? 得每個結點均被訪問一次,而且僅被訪問一次
?“訪問”的含義很廣,可以是對結點作各種處理, 如:輸出結點的信息、修改結點的數據值等,但要求這種訪問不破壞原來的數據結構。
(所以有些題目比如morris遍歷、鏈表后半段反轉判斷回文等等必須進行完,解題時就算已經得出答案也要遍歷完,因為我們不能改變原來的數據結構。)
?
具體遍歷的介紹
https://blog.csdn.net/hebtu666/article/details/82853988
總結
以上是生活随笔為你收集整理的数据结构课上笔记12的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数加减乘
- 下一篇: 借助桶排序思想完成的一道题