二叉树的链式存储表示
时间: 2023-10-30 21:06:18 浏览: 110
JAVA 实现二叉树(链式存储结构)
二叉树的链式存储是指使用链表中的一个链结点来存储二叉树的每个结点。每个链结点至少包含数据域和左、右指针域,用来表示二叉树结点及其左右孩子。这种存储方式称为二叉链表。另外,还可以在结点中增加一个指向父结点的域,形成三叉链表结构。链表的头指针指向二叉树的根结点。
使用链式存储表示的二叉树可以实现二叉树的基本操作,包括建立、遍历、计算深度、结点数、叶子数等。通过先序创建二叉树的方式,以输入C为例,可以构建二叉树。计算二叉树的高度可以通过输入H来实现,计算二叉树的叶子个数可以通过输入L来实现。
当销毁一个二叉树时,为了避免结点指针的丢失,应按照后序遍历的顺序进行销毁。先销毁左分支,再销毁右分支,最后销毁根结点。如果按照先序遍历销毁,则会导致在销毁根结点之后无法找到左、右分支。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [二叉树的链式存储](https://blog.csdn.net/weixin_44109140/article/details/119720428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [C语言 二叉树的链式存储实例](https://download.csdn.net/download/weixin_38726193/13988147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文