2977 二叉堆練習1

2022-04-30 15:12:10 字數 772 閱讀 3331

時間限制: 10 s

空間限制: 32000 kb

題目等級 : ** silver

題解檢視執行結果

已知乙個二叉樹,判斷它是否為二叉堆(小根堆)

輸入描述 input description

二叉樹的節點數n和n個節點(按層輸入)

輸出描述 output description

yes或no

樣例輸入 sample input

樣例輸入1

1 4 9

樣例輸入2

6 4 9

樣例輸出 sample output

樣例輸出1

yes樣例輸出2

no資料範圍及提示 data size & hint

對於20%的資料  n≤20

對於50%的資料  n≤1000

對於100%的資料 n≤50000,每個節點≤10000

1 #include2 #include3

using

namespace

std;

4int a[100000];5

intmain()614

if(n==8)15

19int now=1

,next;

20while(now*2

<=n)

2128 now=next;29}

30 cout<<"

yes";31

return0;

32 }

2977 二叉堆練習1 codevs

題目描述 description 已知乙個二叉樹,判斷它是否為二叉堆 小根堆 輸入描述 input description 二叉樹的節點數n和n個節點 按層輸入 輸出描述 output description yes或no 樣例輸入 sample input 樣例輸入1 1 4 9 樣例輸入2 6 ...

codevs 2977 二叉堆練習1x

空間限制 32000 kb 題目等級 silver 已知乙個二叉樹,判斷它是否為二叉堆 小根堆 輸入描述 input description 二叉樹的節點數n和n個節點 按層輸入 輸出描述 output description yes或no 樣例輸入 sample input 樣例輸入1 1 4 9...

二叉堆部分練習

本練習主要做了幾個工作 1.給定乙個陣列來初始化二叉堆,第一種方法是通過不斷插入,時間複雜度是o nlgn 第二種方法是先把陣列填入二叉堆,再從下標為h size 2的節點開始下濾,這是因為只有下標小於為h size 2才有孩子,從而可以用線性時間完成二叉堆的初始化。2.二叉堆的下濾和上濾,對二叉堆...