树 Tree uva548
1.uva253骰子涂色2.洛谷uva2203.uva12096集合栈计算机 The SetStack Computer4.uva101The Blocks Problem5.uva400 Unix Is命令 Unix ls6.uva10391 复合词 Compound Words7.小球下落 Dropping Balls (uva679)8.树的层次遍历 Trees on the level uva122
9.树 Tree uva548
10.天平 Not so Mobile uva83911.P1102 A-B 数对12.成最多水的容器13.P3367 【模板】并查集14.947. 移除最多的同行或同列石头15.P1082 [NOIP2012 提高组] 同余方程16.803 打砖块17.B3644 【模板】拓扑排序 / 家谱树18.U107394 拓扑排序模板19.P1137 旅行计划20.936 戳印序列21.P4017 最大食物链计数22.2050 并行课程 III23.P3366 【模板】最小生成树24.P2330 [SCOI2005] 繁忙的都市25.Abbott的复仇 Abbott's Revenge26.P1960 郁闷的记者27.P4391 [BOI2009] Radio Transmission 无线传输高中信息题就有给你中序遍历和后序遍历让你求前序遍历的题目。这道题就是根据这两个遍历创建出对应的树,然后根据DFS(深度优先搜索)去求出最小路径。
主要代码:
#include<bits/stdc++.h> using namespace std; const int Max=10000+10; int in_node[Max],last_node[Max],cnt=0; struct node{ int v; node *left,*right; node ():left(NULL),right(NULL){} }; bool input(int a[]){ //中序遍历和后序遍历的读入 string s; if (!getline(cin,s)) return false; stringstream ss(s); cnt=0; int x; while (ss>>x) a[cnt++]=x; return true; } node* creat_tree(int l1,int r1,int l2,int r2){ //树的创建 if (l1>r1 || l2>r2) return NULL; //边界条件 node *root=new node; root->v=last_node[r2]; //找到当前子树的根结点 int pos=0; while (in_node[pos]!=last_node[r2]) pos++; //从中序遍历中找出该结点位置 root->left=creat_tree(l1,pos-1,l2,l2+pos-l1-1); //左子树的创建 root->right=creat_tree(pos+1,r1,l2+pos-l1,r2-1); //右子树的创建 return root; } int min_node=0,Min=0; void dfs(node *root,int sum){ //DFS搜索 sum+=root->v; if (root->left==NULL && root->right==NULL){ //是叶子结点 if (min_node==0 && Min==0){min_node=root->v;Min=sum;} else if(sum<Min || (sum==Min && min_node>(root->v))){min_node=root->v;Min=sum;} } if (root->left!=NULL) dfs(root->left,sum); if (root->right!=NULL) dfs(root->right,sum); } int main(){ while (input(in_node)){ input(last_node); node *root=creat_tree(0,cnt-1,0,cnt-1); min_node=0,Min=0; dfs(root,0); cout<<min_node<<endl; } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】