根据二叉树的顺序存储建树
时间: 2024-01-22 15:37:13 浏览: 66
建树的存储结构的算法:-第六章 树和二叉树
根据二叉树的顺序存储建树的步骤如下:
1. 创建一个一维数组来存储二叉树的节点。
2. 根据二叉树的层序遍历方式,将每个节点按照顺序存放在数组中。
3. 对于每个节点 i,其左子节点的索引为 2*i+1,右子节点的索引为 2*i+2。如果左子节点或右子节点为空,则对应的数组位置存放特殊值,如 null 或者 -1。
4. 直到所有节点都存放在数组中后,二叉树的顺序存储结构就建立完成了。
举个例子,假设有以下二叉树的层序遍历序列:。根据上述步骤,我们可以建立如下的二叉树:
1
/ \
2 3
/ \
4 5
\
6
其中,数组的索引和节点的对应关系如下:
- 节点 1,索引 0
- 节点 2,索引 1
- 节点 3,索引 2
- 节点 4,索引 3
- 节点 null,索引 4
- 节点 5,索引 5
- 节点 6,索引 6
请注意,该例子中根据数组的索引和节点的对应关系,我们可以通过简单的计算获取任意节点的父节点、左子节点和右子节点。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [数据结构-二叉树前中后层序遍历(顺序存储/链式存储&递归/非递归)](https://blog.csdn.net/m0_56494923/article/details/129798075)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文