CCCC團體天梯賽 樹的遍歷 玩轉二叉樹

2021-07-14 17:59:43 字數 1364 閱讀 8058

這裡直接兩個一起寫了,因為這兩個題目的型別是一模一樣的。玩轉二叉樹那我一開始想法有點錯誤,因為我並不知道中序遍歷前序遍歷其實是怎麼得到的,然後推出了乙個沒有規律的式子。。。

先看樹的遍歷

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者

陳越

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

輸入格式:

輸入第一行給出乙個正整數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

這題目很簡單,並不需要什麼模板,自己做就能做出來,我是用的鍊錶去建的樹,層次遍歷那自己想想,我是用了兩個指標陣列,然後就ac了

**如下:

#include#include#includeint back[1024]=;

int mid[1024]=;

struct tree

;void build(int bs,int be,int ms,int me,struct tree *p)

else

p->left=null;

if(right_number)//如果右子樹存在

else

p->right=null;

}int main()

if(a[i]->right!=null)

} } for(i=0;i

**如下:

#include#include#includeint front[1024]=;

int mid[1024]=;

struct tree

;void build(int fs,int fe,int ms,int me,struct tree *p)

else

p->left=null;

if(right_number)

else

p->right=null;//如果不存在則為空

}int main()

if(a[i]->left!=null)

} } for(i=0;i

第四屆cccc團體程式設計天梯賽

蒟蒻的第一次參加天梯賽,也能也是最後一次參加天梯賽了,下半年打完icpc就要退役了,準備考研複習了 本人的第一次天梯賽,也是本校的第一次天梯賽,由於大家都缺少經驗,痛失銀獎,只拿了個銅獎回來 剛開始銀牌區第二的,比賽結束變成銅牌第二了,哭唧唧 下次打應該會少踩寫坑。這屆次的l1 8是 罪魁禍首 我們...

團體程式設計天梯賽 玩轉二叉樹

題意 給定一棵二叉樹的中序遍歷和前序遍歷,請你先將樹做個鏡面反轉,再輸出反轉後的層序遍歷的序列。所謂鏡面反轉,是指將所有非葉結點的左右孩子對換。這裡假設鍵值都是互不相等的正整數。輸入格式 輸入第一行給出乙個正整數n 30 是二叉樹中結點的個數。第二行給出其中序遍歷序列。第三行給出其前序遍歷序列。數字...

CCCC團體天梯賽練習題 排座位

時間限制 150 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 布置宴席最微妙的事情,就是給前來參宴的各位賓客安排座位。無論如何,總不能把兩個死對頭排到同一張宴會桌旁!這個艱鉅任務現在就交給你,對任何一對客人,請編寫程式告訴主人他們是否能被安排同...