C++,如何创建和绘制二叉树,然后按预购方式遍历它
C++, How to create and draw a Binary Tree then traverse it in Pre-Order
如何创建二叉树并使用预购遍历策略绘制它? 根将是进入的第一个数字。
我有一组数字:48 32 51 54 31 24 39
。 48 将是根。 如何在预购遍历中将子节点推送到二叉树上?
想象一下以下子问题。你有一组数字:
N A1...AX B1...BY
您知道N
是相应树的根。您只需要知道哪些数字构成了左侧子树。显然,其余的数字形成了正确的子树。
如果您还记得二进制搜索树的属性,您就会知道左侧子树的元素的值小于根(而右侧的元素的值更大)。
因此,左子树是小于(或可能等于)N
的数字序列。其余数字位于右侧子树中。
递归求解
A1...AX
和
B1...BY
例如给出:
10 1 5 2 9 3 1 6 4 11 15 12 19 20
你会得到:
- 本: 10
- 左子树:1 5 2 9 3 1 6 4
- 右子树:11 15 12 19 20
假设你有以下二叉树:
A
/
B C
/ /
D E F G
/
H I
预购遍历变为节点、左、右。
所以这个二叉树的预序将是:A B D E H I C F G
有关如何在C++中实现此功能的更多详细信息:https://stackoverflow.com/a/17658699/445131
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何在c++中为模板函数实例创建快捷方式
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- 在c代码之间共享数据的最佳方式
- 在C++中将函数压缩为两种方式
- 以螺旋方式打印矩阵的程序.(工作不好)
- 这是我尝试让用户将值输入到数组中.然后将其隐藏为大量的星号
- boost::asio如何生成多个协同程序,然后加入它们
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 创建引用向量的优雅方式
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- Constexpr替代了新的放置方式,可以让内存中的对象保持未初始化状态
- 我可以在中断中写入向量,然后以安全的方式仅在主线程内读取吗?
- 在计算机级别,应用程序以二进制方式运行,然后当发生运行时错误时,它如何呈现回错误代码
- 更改输出文件外观(C )的方式 - 需要先阅读,然后以不同的格式写入
- 一种体面的方式来转换const列表参考参数,然后传递到另一个函数
- C++,如何创建和绘制二叉树,然后按预购方式遍历它
- 以编程方式调整 PSD 的各个组的大小,然后在 C++ 中将它们呈现为 PNG
- 更快的方式,然后我填充一个唯一的整数除了两个值的向量?c++
- C++SQL Server连接,然后以特定方式读取表