5 13 是否完全二叉搜尋樹 30分

2021-07-29 12:24:01 字數 1000 閱讀 1475

5-13 是否完全二叉搜尋樹   (30分)

將一系列給定數字順序插入乙個初始為空的二叉搜尋樹(定義為左子樹鍵值大,右子樹鍵值小),你需要判斷最後的樹是否一棵完全二叉樹,並且給出其層序遍歷的結果。

輸入第一行給出乙個不超過20的正整數n;第二行給出n個互不相同的正整數,其間以空格分隔。

將輸入的n個正整數順序插入乙個初始為空的二叉搜尋樹。在第一行中輸出結果樹的層序遍歷結果,數字間以1個空格分隔,行的首尾不得有多餘空格。第二行輸出yes,如果該樹是完全二叉樹;否則輸出no

9

38 45 42 24 58 30 67 12 51

38 45 24 58 42 30 12 67 51

yes

8

38 24 12 45 58 67 42 51

38 45 24 58 42 12 67 51

no

思路 : 建立二叉搜尋樹,如果他的所有結點的下標是連續的,那麼他就是一顆完全二叉樹。

#includeusing namespace std;

const int maxn = 5e6+5;

int tree[maxn], n;

void add(int r, int val)

if(val > tree[r]) add(r*2, val);

else add(r*2+1, val);

}int main(void)

bool ok = 1;

int r = 1

printf("\n%s\n", ok ? "yes" : "no");

}return 0;

}

是否完全二叉搜尋樹 30分

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 將一系列給定數字順序插入乙個初始為空的二叉搜尋樹 定義為左子樹鍵值大,右子樹鍵值小 你需要判斷最後的樹是否一棵完全二叉樹,並且給出其層序遍歷的結果。輸入格式 輸入第一行給出乙個不超過...

是否完全二叉搜尋樹(30 分)

將一系列給定數字順序插入乙個初始為空的二叉搜尋樹 定義為左子樹鍵值大,右子樹鍵值小 你需要判斷最後的樹是否一棵完全二叉樹,並且給出其層序遍歷的結果。輸入格式 輸入第一行給出乙個不超過20的正整數n 第二行給出n個互不相同的正整數,其間以空格分隔。輸出格式 將輸入的n個正整數順序插入乙個初始為空的二叉...

7 2 是否完全二叉搜尋樹 (30 分)

將一系列給定數字順序插入乙個初始為空的二叉搜尋樹 定義為左子樹鍵值大,右子樹鍵值小 你需要判斷最後的樹是否一棵完全二叉樹,並且給出其層序遍歷的結果。輸入第一行給出乙個不超過20的正整數n 第二行給出n個互不相同的正整數,其間以空格分隔。將輸入的n個正整數順序插入乙個初始為空的二叉搜尋樹。在第一行中輸...