二叉樹uva 679(做滿二叉樹的題目的思路)

2021-08-27 23:52:07 字數 460 閱讀 3427

題目連線

題目大意思是給定一顆滿二叉樹,球經過乙個節點往左數走之後就要往右樹走,先衝左樹開始走,下一顆經過這個節點的球往右樹走

這道題參考紫書。

如果按照順序模擬的話會超時。

但是這道題用二叉樹來做的,樹的題目有點類似遞迴,從樹節點到子樹後,子樹又成了樹節點,就只要考慮每次是節點和子數的關係。比如這道題的球下落,有n個球經過最初的樹節點,那就有n/2個球分別進過這樹節點了兩個子樹,那就又成了原來的題目,成為n/2節點經過乙個樹節點(最初樹節點的子樹),然後就可以用迴圈解決了

#include #include #include#include #include#include#include#include#include using namespace std;

int main()

cout<}

return 0;

}

UVa679 完全二叉樹編號

這題我也是用了兩種方法,第一種比較常規,但超時,第二種比較討巧 運用完全二叉樹的性質,對於結點k,左子結點編號2k,右子結點編號2k 1,用乙個陣列表示當前每個結點狀態,然後模擬每個小球的下落過程 include using namespace std const int maxdeep 20 in...

UVa 679 小球下落 二叉樹的編號

在結點1處放乙個小球,它會往下落。每個內結點上都會有乙個開關,初始全部關閉,當每次有小球落到乙個開關上時,狀態都會改變。當小球到達乙個結點是,如果結點上的開關關閉,則往左走,否則往右走,直到走到葉子的結點,如圖。分析 對於乙個結點k,其左結點和右結點分別為2k和2k 1。小球落到結點處,先改變,後選...

UVa679小球下落(二叉樹的編號)

樹是n個元素的有限集合,不再是序列,其中 n 0 樹可以看成無共享純廣義表。二叉樹的3個要素,根結點,左子樹和右子樹。二叉樹不是樹,樹的兩個要素是根結點和子樹森林。無論線性結構還是樹形結構,第乙個元素都沒有前驅。線性結構的最後乙個元素都沒有後繼,樹形結構有多個葉子結點,都沒有後繼。對於中間的一般元素...