日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【学习笔记】树形结构基础

發(fā)布時(shí)間:2025/7/14 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【学习笔记】树形结构基础 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目的

mark一下紫書上的例題與操作,以備復(fù)習(xí)。


內(nèi)容

各種套路

UVa 122

#include <bits/stdc++.h> using namespace std; char s[1007]; struct Node {bool have_value; int v;Node *left,*right;Node():have_value(false),left(NULL),right(NULL){} }; bool failed; Node* root; Node* newnode() { return new Node();} void remove_tree(Node* u) {if(u == NULL) return;remove_tree(u->left);remove_tree(u->right);delete u; } void addnode(int v,char* s) {int n=strlen(s);Node* u=root; //根節(jié)點(diǎn) for(int i=0;i<n;i++){if(s[i]=='L'){if(u->left==NULL) u->left=newnode();u=u->left; //向左走 }else if(s[i]=='R'){if(u->right==NULL) u->right=newnode();u=u->right;}}if(u->have_value) failed=true;u->v =v;u->have_value=true; } bool read_input() {failed=false;root=newnode();for(;;){if(scanf("%s",s) != 1) return false;if(!strcmp(s,"()")) break;int v;sscanf(&s[1],"%d",&v);addnode(v,strchr(s,',')+1); }return true; } bool bfs(vector<int>& ans) {queue<Node*> q;ans.clear();q.push(root);while(!q.empty()){Node* u=q.front(); q.pop();if(!u->have_value) return false;ans.push_back(u->v);if(u->left != NULL) q.push(u->left);if(u->right != NULL) q.push(u->right);}return true; } int main() {vector<int> ans;while(read_input()){if(!bfs(ans)) failed = 1;if(failed) printf("not complete\n");else {for(int i = 0; i < ans.size(); i++){if(i != 0) printf(" ");printf("%d", ans[i]);}puts("");}}return 0; }

UVa 548

#include <bits/stdc++.h> using namespace std; const int maxv=10009; int in_order[maxv],post_order[maxv],lch[maxv],rch[maxv],n; bool read_list(int* a) {string line;if(!getline(cin,line)) return false;stringstream ss(line);n=0;int x;while(ss>>x) a[n++]=x;return n>0; } //把in_order[L1,R1]和post_order[L2,R2]建成一顆二叉樹,返回樹根 int build(int L1,int R1,int L2,int R2) {if(L1>R1) return 0;int root=post_order[R2];int p=L1;while(in_order[p] != root) p++; int cnt=p-L1;lch[root]=build(L1,p-1,L2,L2+cnt-1);rch[root]=build(p+1,R1,L2+cnt,R2-1);return root; } long long best,best_sum; void dfs(int u,long long sum) {sum+=u;if(!lch[u] && !rch[u])if(sum<best_sum || (sum==best_sum && u<best)){best=u;best_sum=sum;}if(lch[u]) dfs(lch[u],sum);if(rch[u]) dfs(rch[u],sum); } int main() {while(read_list(in_order)){read_list(post_order);build(0,n-1,0,n-1);best_sum=1000000000000;dfs(post_order[n-1],0);cout<<best<<"\n";}return 0; }

UVa 839

#include <iostream> using namespace std; int solve(int& W) {int B1=1,B2=1,W1,W2,D1,D2;cin>>W1>>D1>>W2>>D2;if(!W1) B1=solve(W1);if(!W2) B2=solve(W2);W=W1+W2;if(B1&&B2&&W1*D1==W2*D2) return 1;return 0; } int main() {int T,W;cin>>T;while(T--){if(solve(W)) cout<<"YES\n";else cout<<"NO\n";if(T) cout<<"\n";}return 0; }

UVa 10562

#include <bits/stdc++.h> using namespace std; const int maxn=210; int n; char buf[maxn][maxn]; void dfs(int r,int c) {printf("%c(",buf[r][c]);if(r+1<n && buf[r+1][c]=='|'){int i=c;while(i-1>=0 && buf[r+2][i-1]=='-') i--;while(buf[r+2][i]=='-' && buf[r+3][i]!='\0'){if(!isspace(buf[r+3][i])) dfs(r+3,i);i++;}}printf(")"); } void solve() {n=0;for(;;){fgets(buf[n],maxn,stdin);if(buf[n][0]=='#') break;else n++;}printf("(");if(n){for(int i=0;i<strlen(buf[0]);i++)if(buf[0][i]!=' '){dfs(0,i); break;}}printf(")\n"); } int main() {int T;fgets(buf[0],maxn,stdin);sscanf(buf[0],"%d",&T);while(T--){solve();}return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/noblex/p/7978910.html

總結(jié)

以上是生活随笔為你收集整理的【学习笔记】树形结构基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 狠狠激情 | av电影在线观看 | 欧美撒尿777hd撒尿 | 涩涩视频网站在线观看 | 国产人妻精品久久久久野外 | wwwxxxx欧美 | 能免费看黄色的网站 | 国产成人欧美一区二区三区91 | 超碰成人久久 | 黄在线视频 | www.色悠悠 | 久久久久久久久成人 | 男女做爰猛烈吃奶啪啪喷水网站 | 九九热精品在线视频 | 免费的a级片 | 日韩精品一二三区 | 日韩一区二区中文字幕 | 久久情趣视频 | 久久中文字幕在线 | 日韩欧美中文字幕一区二区三区 | 一区二区三区四区不卡 | 天堂…中文在线最新版在线 | 天天爱天天色 | 小柔的淫辱日记(h | 欧美日韩人妻精品一区二区 | 日韩国产三级 | 亚洲日日夜夜 | 亚洲日本在线观看视频 | 韩国禁欲系高级感电影 | 黄色小毛片 | 樱桃成人精品视频在线播放 | 少妇性xxxxxxxxx色武功 | 国产美女精品人人做人人爽 | 欧美在线免费看 | 少妇高潮一69aⅹ | 黄色小说在线免费观看 | 日本成人在线不卡 | 国产另类视频 | 激情五月网站 | 国产高潮视频在线观看 | 嫩草影院菊竹影院 | 一区二区三区波多野结衣 | 中文字幕+乱码+中文字幕明步 | 在线观看你懂的网站 | 国产一区在线视频 | 在线观看欧美精品 | 天天碰免费视频 | 11一12免费毛片| 午夜久久 | 色就色综合| 波多野结衣在线一区 | 日日夜夜精品免费 | www视频免费在线观看 | av中文网站 | 亚洲 在线 | 成年人看片网站 | 久久免费视频6 | 探花系列在线观看 | 黄瓜视频在线播放 | 毛片在线观看网站 | 直接看毛片 | 丰满少妇久久久久久久 | 欧美日韩亚洲国产 | 国产片久久| 久久97视频 | 深夜福利91 | 日剧网| 午夜影院在线观看18 | 麻豆视频网址 | 绿帽h啪肉np辣文 | 久久久久久久久久久久 | 超碰女| 九热这里只有精品 | 日韩在线第二页 | 亚洲一区二区三区中文字幕 | 色视频导航 | 黄色小视频在线观看 | 久久亚洲av永久无码精品 | 亚洲人成网站999久久久综合 | 女生被男生c | av鲁丝一区二区鲁丝 | 国内av在线 | 久久丫精品忘忧草西安产品 | 亚洲午夜无码av毛片久久 | 亚洲高清在线播放 | 日韩av影片在线观看 | 欧美性猛交xxxx久久久 | 亚洲一二三区在线观看 | 精品人人妻人人澡人人爽牛牛 | 日本美女久久 | 免费美女av| 日本高清不卡在线 | 日日操日日爽 | 国产真实乱在线更新 | 日韩精品一区二区三区无码专区 | 日本人妻伦在线中文字幕 | 91香蕉在线视频 | 台湾一级视频 | 亚洲丁香网 |