L3 010 是否完全二叉搜尋樹 遞迴

2021-09-14 02:59:02 字數 1102 閱讀 6627

輸出樣例1:

38 45 24 58 42 30 12 67 51

yes輸入樣例2:

838 24 12 45 58 67 42 51

輸出樣例2:

38 45 24 58 42 12 67 51

no

#include #include #include using namespace std;

int k;

struct tree

};void insert_(tree *a,int x,int k)

else

insert_(a->ls,x,k+1);

}else

else

insert_(a->rs,x,k+1);

}}int flag;

int judge(tree *a,int k)

if(a->ls==null&&a->rs!=null)//左空右不空

return 0;//已經是錯誤的了,其實不用管flag了

if(a->rs==null)//左不空右空

flag=0;return 1;//左右皆不空.

}else

return !(a->ls||a->rs);//不可以放,存放乙個就不對

}if(a->ls==null||a->rs==null)

return 0;

int ans1=judge(a->ls,k+1),ans2=judge(a->rs,k+1);

if(!ans1)

return 0;

return ans2;

}queueq;

void preorder(tree *root)

}int main()

if(n==1)

flag=0;

preorder(root);

puts("");

puts(judge(root,1)?"yes":"no");

}

L3 010 是否完全二叉搜尋樹

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

L3 010 是否完全二叉搜尋樹

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

L3 010 是否完全二叉搜尋樹

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