團體程序設計天梯賽 L2-006 樹的遍歷

L2-006 樹的遍歷

分數 25

給定一棵二叉樹的后序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這里假設鍵值都是互不相等的正整數。

輸入格式:

輸入第一行給出一個正整數N(≤30),是二叉樹中結點的個數。第二行給出其后序遍歷序列。第三行給出其中序遍歷序列。數字間以空格分隔。

輸出格式:

在一行中輸出該樹的層序遍歷的序列。數字間以1個空格分隔,行首尾不得有多余空格。

輸入樣例:

7
2 3 1 5 7 6 4
1 2 3 4 5 6 7

輸出樣例:

4 1 6 3 5 7 2

題解

?根據中序遍歷和后序遍歷建立二叉樹,用結構體儲存,然后用bfs輸出層序遍歷。

#include<bits/stdc++.h>
using namespace std;
int n;
int mid[35];
int after[35];
struct node{int l,r;//左右子樹
}t[35];
vector<int> ans;
int build(int l1,int l2,int r1,int r2)
{if(l1>l2) return 0;//樹為空int root=after[r2];//標記根節點int p=l1;//尋找在中序遍歷中的根節點while(mid[p]!=root){p++;}int cnt=p-l1;//左右子樹分別遞歸t[root].l=build(l1,p-1,r1,r1+cnt-1);t[root].r=build(p+1,l2,r1+cnt,r2-1);return root;
}
//bfs輸出層序遍歷
void bfs(int s)
{queue<int> q;q.push(s);while(!q.empty()){int u=q.front();q.pop();ans.push_back(u);if(t[u].l!=0){q.push(t[u].l);}if(t[u].r!=0){q.push(t[u].r);}}
}
int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>after[i];}for(int i=1;i<=n;i++){cin>>mid[i];}//int root=build(mid[1],mid[n],after[1],after[n]);int root=after[n];build(1,n,1,n);bfs(root);int cnt=0;//輸出的時候注意最后一個不能有空格for(auto k:ans){cnt++;if(cnt!=ans.size()){cout<<k<<" ";}else{cout<<k<<endl;}}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718544.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718544.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718544.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Linux】Linux系統磁盤分區和掛載相關命令介紹

Linux系統磁盤分區和掛載相關命令介紹 文章目錄 Linux系統磁盤分區和掛載相關命令介紹磁盤分區1、使用fdisk創建分區2、使用parted創建分區 格式化分區分區掛載自動掛載其他常見&#xff08;用&#xff09;的磁盤相關命令 在Linux系統中&#xff0c;磁盤分區和磁盤掛載是管理存…

第十四屆藍橋杯大賽B組 JAVA 蝸牛 (遞歸剪枝)

題目描述&#xff1a; 這天&#xff0c;一只蝸牛來到了二維坐標系的原點。 在 x 軸上長有 n 根竹竿。它們平行于 y 軸&#xff0c;底部縱坐標為 0&#xff0c;橫坐標分別為 x1, x2, …, xn。竹竿的高度均為無限高&#xff0c;寬度可忽略。蝸牛想要從原點走到第 n 個竹竿的底部也…

全域電商數據集成管理與采集|API接口的采集與管理

如今&#xff0c;全渠道零售已是大勢所趨。企業電商經營的一大現狀就是數據分散各處&#xff0c;比如有來自電商平臺私域數據、品牌一方數據、公開的第三方行業數據與電商平臺C端頁面數據等等。如何集成全域數據日益成為企業數字化基建的難題。 當前電商數據集成的主流方案為人…

【基于Matlab GUI的語音降噪系統設計】

客戶不要了&#xff0c;掛網上吧&#xff0c;有需要自行下載~ 賺點辛苦費 ** 功能實現: ** 1、導入音頻文件/錄入音頻&#xff0c;能實現播放功能。 2、對導入/錄入的音頻信號進行時域和頻域分析&#xff0c;并制圖。 3、可在導入/錄入的音頻信號上加入噪聲&#xff0c;并能夠播…

Apache JMeter 5.6.3 安裝

源碼下載 curl -O https://dlcdn.apache.org//jmeter/source/apache-jmeter-5.6.3_src.zipJMeter 下載 curl -O https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.zipjmeter.properties 里 設置中文 windows系統上解壓&#xff0c;雙擊jmeter.bat 啟動 執行參…

【人工智能】DeepLearning學習路線及簡要說明

目錄 神經網絡 1.1 前饋神經網絡(FNN) 結構和工作原理 訓練過程 應用

架構設計方法(4A架構)-應用架構

1、應用架構&#xff08;AA&#xff09;&#xff1a;業務價值與產品之間的橋梁&#xff0c;是企業架構的一個子集 2、應用架構包含“應用系統模塊、應用服務、應用系統集成”3個關鍵要素 3、收集AS-IS應用架構&#xff0c;描繪現狀&#xff0c;并識別改進機會點 4、描述對新系統…

uniapp 安卓YYEVAPlayer MP4禮物播放器原生插件

插件介紹 安卓YYEVAPlayer MP4禮物播放器原生插件&#xff0c;是一個輕量的動畫渲染庫&#xff0c;使用Native Opengles 渲染視頻&#xff0c;為你提供高性能、低開銷的動畫體驗 對比傳統的序列幀的動畫播放方式&#xff0c;具有更高的壓縮率&#xff0c;硬解碼效率更高的優點…

【NR 定位】3GPP NR Positioning 5G定位標準解讀(四)

目錄 前言 6 Signalling protocols and interfaces 6.1 支持定位操作的網絡接口 6.1.1 通用LCS控制平面架構 6.1.2 NR-Uu接口 6.1.3 LTE-Uu接口 6.1.4 NG-C接口 6.1.5 NL1接口 6.1.6 F1接口 6.1.7 NR PC5接口 6.2 終端協議 6.2.1 LTE定位協議&#xff08;LPP&#x…

TikTok企業認證教程:提升賬號可信度的必備步驟

TikTok企業認證是TikTok平臺用來驗證賬號真實性和權威性的方式。通過企業認證之后&#xff0c;企業能在TikTok上獲得官方標識&#xff0c;可以增強品牌的專業形象&#xff0c;也有利于提升用戶對企業內容的信任度。而且通過TikTok企業認證還可以解鎖高級功能&#xff0c;如數據…

貪心(基礎算法)--- 牛馬耍雜技

耍雜技的牛 農民約翰的N頭奶牛&#xff08;編號為1…N&#xff09;計劃逃跑并加入馬戲團&#xff0c;為此它們決定練習表演雜技。 奶牛們不是非常有創意&#xff0c;只提出了一個雜技表演&#xff1a; 疊羅漢&#xff0c;表演時&#xff0c;奶牛們站在彼此的身上&#xff0c…

@Resource和@Autowired區別

在Java Spring框架中&#xff0c;Resource和Autowired注解都用于依賴注入&#xff0c;但它們之間有一些區別&#xff1a; 來源: Autowired是Spring特定的注解&#xff0c;它通過類型匹配來進行自動裝配。Resource是Java EE&#xff08;javax.annotation.Resource&#xff09;提…

【MATLAB】語音信號識別與處理:T1小波濾波算法去噪及譜相減算法呈現頻譜

1 基本定義 T1小波濾波算法是一種基于小波變換的信號去噪算法。它可以有效地去除信號中的噪聲&#xff0c;并保留信號的主要特征。該算法的主要思想是將信號分解為多個不同尺度的小波系數&#xff0c;然后通過對小波系數進行閾值處理來去除噪聲。 具體來說&#xff0c;T1小波濾…

服務器數據恢復-服務器RAID5上層XFS文件系統分區數據恢復案例

服務器數據恢復環境&#xff1a; MD1200磁盤柜中的磁盤通過RAID卡創建了一組RAID5陣列&#xff0c;分配了一個LUN。在Linux操作系統層面對該LUN進行了分區&#xff0c;劃分sdc1和sdc2兩個分區&#xff0c;通過LVM擴容的方式將sdc1分區加入到了root_lv中&#xff1b;sdc2分區格式…

飛槳(PaddlePaddle)Tensor使用教程

文章目錄 飛槳&#xff08;PaddlePaddle&#xff09;Tensor使用教程1. 安裝飛槳2. 創建Tensor3. Tensor的基本屬性4. Tensor的操作5. Tensor的廣播機制6. Tensor與Numpy數組的轉換7. 結論 飛槳&#xff08;PaddlePaddle&#xff09;Tensor使用教程 1. 安裝飛槳 首先&#xff…

vue2+vxe-table的v3版本:設置vxe-table表格border顏色、單元格高度、斑馬線條紋顏色、表頭背景色和文字樣式

模板與樣式完整代碼 <vxe-table:data"tableData"height"auto"align"center"borderresizablestriperoundrow-id"id":row-config"{ isCurrent: true, isHover: true }":scroll-y"{ enabled: true, gt: 10 }":sho…

SSL證書驗證失敗怎么辦?常見SSL證書驗證失敗原因及解決辦法

網站與其訪問者建立信任的主要方式就是通過簽發SSL證書&#xff0c;因為SSL證書是由受信任的證書頒發機構&#xff08;CA&#xff09;在驗證某個網站真實性和可信任性之后才頒發的。但是&#xff0c;網站部署SSL證書后&#xff0c;偶爾會出現SSL證書驗證失敗而導致錯誤&#xf…

瞄準關基行業!Lockbit卷土重來,銀狐卷出新變種

Lockbit與銀狐木馬是亞信安全2023年重點關注的兩支勒索軟件家族。Lockbit可謂是2023年度最為活躍和猖獗的勒索軟件&#xff0c;受害者上千贖金破億&#xff0c;攻擊技能更是疊加buff不斷升級&#xff0c;在經歷國際聯合執法后在近期卷提重來。銀狐木馬則是2023年的“卷王”&…

跟隨機器人方法總結

文章目錄 基于目標檢測基于視覺跟蹤與自主導航的移動機器人目標跟隨系統[J]基于視覺的履帶車跟隨系統研究[D]基于人體骨架基于二維碼基于視覺的履帶車跟隨系統研究[D]基于目標檢測 基于視覺跟蹤與自主導航的移動機器人目標跟隨系統[J] 針對在移動機器人跟隨目標的過程中目標消…

短劇分銷系統開發,短劇爆火下的商業機遇

這幾年來&#xff0c;短劇市場一直保持著快速發展的步伐&#xff0c;在行業中掀起了了一股風潮。短劇被大眾當做“電子榨菜”&#xff0c;符合了當下人們的碎片化時間。節奏快、劇情緊湊的特點深受大眾的追捧&#xff0c;短劇的市場規模也超過了百億元。 在短劇的爆火下&#…