当前位置:主页 > 查看内容

257-根据数组下标完成对二叉树的中序遍历

发布时间:2021-04-26 00:00| 位朋友查看

简介:根据数组下标完成对二叉树的中序遍历 即顺序存储的物理结构 题目图解如下 根据数组ar完成对二叉树的先序遍历。 解题思路如下 我们是从上到下从左到右依次进行编号即数组的下标。-1代表结点不存在。 我们知道数组物理结构和二叉树的图逻辑结构有个对应的数学……

根据数组下标完成对二叉树的中序遍历

即顺序存储的物理结构

在这里插入图片描述

题目图解如下

在这里插入图片描述
根据数组ar完成对二叉树的先序遍历。

解题思路如下

我们是从上到下,从左到右,依次进行编号,即数组的下标。-1代表结点不存在。
在这里插入图片描述
我们知道,数组(物理结构)和二叉树的图(逻辑结构)有个对应的数学关系。
假设结点的下标为i,它的左孩子就是2i+1,它的右孩子的下标就是2i+2;

代码如下

void InOrder(const int* ar, int i, int n)
{
	if (i < n && ar[i] != -1)
	{
		InOrder(ar, i * 2 + 1, n);//left
		cout << ar[i] << " ";
		InOrder(ar, i * 2 + 2, n);//right
	}
}
int main()
{
	int ar[] = { 7,8,23,9,15,-1,18,-1,-1,10,20 };
	int n = sizeof(ar) / sizeof(ar[0]);

	InOrder(ar, 0, n);
	cout << endl;

	return 0;
}

运行结果如下

在这里插入图片描述

;原文链接:https://blog.csdn.net/LINZEYU666/article/details/115426249
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:YUV420转RGB888 下一篇:没有了

推荐图文


随机推荐