Data Structure Binary Tree: Construct Tree from given Inorder and Preorder traversals
2024-08-28 00:32:23
http://www.geeksforgeeks.org/construct-tree-from-given-inorder-and-preorder-traversal/
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <stack>
#include <string>
#include <fstream>
using namespace std; struct node {
char data;
struct node *left, *right;
node() : data(), left(NULL), right(NULL) { }
node(int d) : data(d), left(NULL), right(NULL) { }
}; void prints(node *root) {
if (!root) return;
prints(root->left);
cout << root->data << " ";
prints(root->right);
} node *buildtree(char in[], char pre[], int beg, int end) {
static int preindex = ;
if (beg > end) return NULL;
node *root = new node(pre[preindex++]);
int index = beg;
for (int i = beg; i <= end; i++) {
if (in[i] == root->data) {
index = i;
break;
}
}
root->left = buildtree(in, pre, beg, index-);
root->right = buildtree(in, pre, index+, end);
return root;
} int main() {
char in[] = {'D', 'B', 'E', 'A', 'F', 'C'};
char pre[] = {'A', 'B', 'D', 'E', 'C', 'F'};
int len = ;
node *root = buildtree(in, pre, , len-);
prints(root);
return ;
}
最新文章
- thinkphp5.0助手函数占用服务器资源
- Java:类与继承
- mongoDB数据库和Spring MVC的整合
- linux yum 命令
- Let&#39;s Encrypt 正式出發(免费HTTPS证书即将到来)
- windows phone SDK 8.0 模拟器异常 0x89721800解决办法
- WCF服务寄宿应用程序
- 在VMware Workstation上安装Kali Linux
- MVC简捷调用EasyUI的datagrid
- 关于HttpServlet和Servlet以及doPost和doGet关系
- 小学生之KTV项目文档(bdqn)
- 使用模板类导致error LNK2019: 无法解析的外部符号
- [leetcode]Plus One @ Python
- mouseleave,mouseout 和mouseover ,mouseenter区别
- 谈谈http与https
- SQLSERVER 的资源限制
- Visual Studio 2017 连接Oracle
- Nginx的各种报错总结
- DHT11温湿度传感器编程思路以及代码的实现(转载)
- jsp---tomcat===》》内置对象