树
树
循环是人递归是神
北京邮电大学
展开
-
uva 297 Quadtrees
题意:两个四叉树的合并问题,写得确实烂了点 #include<iostream> #include<algorithm> #include<queue> #include<cmath> #include<math.h> #include<string> #include<string.h> #include&...原创 2020-05-07 18:33:39 · 152 阅读 · 0 评论 -
uva 12219 Common Subexpression Elimination
这道题写得极度痛苦。题都看了半天 总结一下自己遇到的坑点: 1.map<node,int>和map<*node,int>。由于需要重载<符号,map<*node,int>无法调用struct node中的<重载。 2.hash=hash*27+s[p]-'a'+1中+1是必要的,如果不加,'aa','aaa'hash值为0,冲突 #include<iostream> #include<algorithm> #inc...原创 2020-06-08 18:08:06 · 248 阅读 · 0 评论 -
表达式树求四则运算
表达式树求四则运算,参考lrj。有空补一个逆波兰表达式求法 string s; double build_tree(int x,int y){ if (y - x == 1) return s[x] - '0'; int p = 0;//num of '(', ')' int c1 = -1, c2 = -1; for (int i = x; i < y; i++) { switch (s[i]) { case'(':p++; break; case')':p--;..原创 2020-06-06 21:26:33 · 804 阅读 · 0 评论 -
uva 1354 Mobile Computing
二叉树枚举,思路很简单,但枚举有技巧 #include<iostream> #include<algorithm> #include<queue> #include<cmath> #include<math.h> #include<string> #include<string.h> #include<map> #include<unordered_map> #include<unorde.原创 2020-05-24 11:06:00 · 167 阅读 · 0 评论 -
236. 二叉树的最近公共祖先
unordered_map<int,int> buf; //记录结点u的父节点 void dfs1(TreeNode* root,int u) { if(root!=NULL) { buf[root->val] = u; dfs1(root->left,root->val); dfs1(root->right,root->...原创 2020-05-10 15:01:10 · 120 阅读 · 0 评论 -
uva 699 The Falling Leaves
题目大意:如下图的二叉树,求出同一列中的数的和,下图的输出为:7 11 3 #include<iostream> #include<algorithm> #include<queue> #include<cmath> #include<math.h> #include<string> #include<stri...原创 2020-05-08 07:44:58 · 169 阅读 · 0 评论 -
572. 另一个树的子树
bool isSubtree(TreeNode* s, TreeNode* t) { return dfs1(s,t); } int dfs1(TreeNode* s, TreeNode* t) { if(s==NULL) return 0; if(s->val == t->val...原创 2020-05-08 23:38:49 · 77 阅读 · 0 评论 -
从中序与后序遍历序列构造二叉树 && 从前序与中序遍历序列构造二叉树
//中序和后序构造二叉树 TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) { if(inorder.size()==0) return NULL; reverse(postorder.begin(),posto...原创 2020-05-08 23:39:41 · 151 阅读 · 0 评论 -
二叉树的前中后层序遍历
vector<int> r; vector<int> postorderTraversal(TreeNode* root) { dfs(root); return r; } void dfs(TreeNode* root) { if(root!=NULL) { ...原创 2020-05-08 23:40:04 · 196 阅读 · 0 评论