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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法入门经典第六章 例题6-8 树

發布時間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法入门经典第六章 例题6-8 树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

題意:

給一棵點帶權的二叉樹的中序和后序遍歷,找一個葉子使得它到根的路徑上的權值的和最小,如果多解,那該葉子本身的權值應該最小

?

?

解題思路:

1.用getline()輸入整行字符,然后用stringstream獲得字符串中的數字?                                                            2.用數組in_oder[]和post_order[]分別表示中序遍歷和后序遍歷的順序,用數組rch[]和lch[]分別表示結點的左子樹和右子樹

                                           

3.用遞歸的辦法根據遍歷的結果還原二叉樹(后序遍歷的最后一個樹表示的是根節點,中序遍歷的中間一個表示根節點

                                        

4.二叉樹構造完成后,再執行一次遞歸遍歷找出最優解

?

#include<iostream> #include<string> #include<sstream> #include<algorithm> using namespace std; // 因為各個結點的權值各不相同且都是正整數,直接用權值作為結點編號 用數組存儲二叉樹 const int maxv = 10000 + 10; int in_order[maxv], post_order[maxv], lch[maxv], rch[maxv]; int 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) {//最后的葉沒有左右子樹 如果有一個葉是5 則lch[5]=0 rch[5]=0 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;//遞歸法 lch[2]=5,權值為2的左結點為5 }int best,best_sum;//目前為止的最優解和對應的權和 void dfs(int u, int 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 = 1000000000;dfs(post_order[n-1], 0);cout << best << "\n";}return 0; }

?

轉載于:https://www.cnblogs.com/is-Tina/p/7422485.html

總結

以上是生活随笔為你收集整理的算法入门经典第六章 例题6-8 树的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜神马影院 | 国产91久久婷婷一区二区 | 18日本xxxxxxxxx95| 中文字幕一区二区三区免费看 | 超碰在线c| 亚洲无毛| 久久免费视频播放 | 午夜色影院 | 牛牛电影国产一区二区 | 免费观看国产精品视频 | 暖暖av在线 | 自拍偷拍色 | 国产精品性色 | 亚洲综合黄色 | 肥婆大荫蒂欧美另类 | 国产精品另类 | 尤物精品在线观看 | 一级高清视频 | 亚洲精品视频在线免费 | 国产日产欧洲无码视频 | 欧美黄色一区 | 天天摸天天干 | 成人激情四射网 | 亚洲图片一区二区 | 噜噜狠狠狠狠综合久久 | 久久久久人妻一区精品色 | 欧洲视频在线观看 | 亚洲一区中文字幕在线观看 | 中文字幕一区二区三区在线视频 | 精品日韩在线视频 | 亚洲乱码一区二区三区在线观看 | 色婷婷欧美 | 一区二区三区视频播放 | 国内自拍视频在线观看 | 美女搞黄视频网站 | 91伊人久久 | 日本色www | 欧美激情动态图 | 伊人综合影院 | 一区二区三区四区视频 | 五月激情四射网 | 欧美亚洲综合另类 | 人人爱人人插 | 日韩成人在线一区 | 亚洲国产成人91porn | 午夜剧场黄色 | 成人免费毛片果冻 | 中文字幕免费高清在线观看 | 99精品视频播放 | 黑人三级视频 | 综合久色| 日本成人久久 | 成人看片黄a免费看视频 | 欧美亚洲图片小说 | 免看一级片 | 免费在线观看小视频 | 亚洲啊v | 欧美少妇毛茸茸 | 啪啪av网 | 国产乱淫视频 | 99资源| 国产一区影院 | 女人张开双腿让男人捅 | 三上悠亚ssⅰn939无码播放 | 特级淫片裸体免费看 | 在线看日韩av | 精品一卡二卡三卡 | 亚欧视频在线观看 | 91国偷自产一区二区三区女王 | 久久99一区 | 精品无码一区二区三区电影桃花 | 夜色伊人| 97se在线 | 精品国产一级久久 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | mm1313亚洲国产精品美女 | 91视频插插插 | 欧美无砖专区免费 | 天天插天天操 | 久久久久久免费视频 | 爱久久| www.久久.com| 欧美精品色呦呦 | julia一区二区中文久久97 | 99久久人妻无码精品系列 | 亚洲国产精品狼友在线观看 | 在线观看视频中文字幕 | 国产欧美综合视频 | 日韩中文字幕一区二区三区 | 亚洲综合在线一区二区 | 伊人久久久久久久久久久久久 | 国产三级伦理片 | 亚洲精品黄 | 在线观看中文字幕2021 | 制服下的诱惑暮生 | 12av在线| 国产三区视频 | 亚洲www啪成人一区二区麻豆 | 日韩欧美一区二区三区免费观看 |