L3 016 二叉搜尋樹的結構

2021-09-14 02:58:00 字數 1232 閱讀 5404

輸出樣例:

yesyes

yesyes

yesno

nono

題解 : 寫的**極醜。

先離散化,建樹的時候儲存下來這個節點對應到陣列上的下標,a[id[i]]=x,i是x的對映。上次有乙個題目也是這樣的查詢,但是那個是通過每次把所有的點for迴圈直至a[i]=x,找到對應的陣列下標,時間複雜度較高。

下面的**是錯誤的,最後乙個測試點mle。

#include#includeusing namespace std;

const int n=100+5,m=n*n*1000,inf=0x3f3f3f3f;

maprefl;

int root,k[n],a[m],id[n],tot,vis[m];

void insert_(int x,int h,int pos)

if(x>1]==a[id[y]>>1]?"yes":"no");

}else//the same level

puts(k[x]==k[y]?"yes":"no");}}

else

puts(tmp==a[1]?"yes":"no");

continue;

}if(s[0]=='l')//left child

puts((!(id[x]&1)&&a[id[x]>>1]==y)?"yes":"no");

}if(s[0]=='r')//right child

puts(((id[x]&1)&&a[id[x]>>1]==y)?"yes":"no");

}if(s[0]=='p')//parent

puts(tmp==a[id[y]>>1]?"yes":"no");}}

}}

L3 016 二叉搜尋樹的結構 (30 分

l3 016 二叉搜尋樹的結構 30 分 給定一系列互不相等的整數,將它們順次插入一棵初始為空的二叉搜尋樹,然後對結果樹的結構進行描述。你需要能判斷給定的描述是否正確。例如將插入後,得到一棵二叉搜尋樹,則陳述句如 2是樹的根 1和4是兄弟結點 3和0在同一層上 指自頂向下的深度相同 2是4的雙親結點...

L3 016 二叉搜尋樹的結構 30分

給定一系列互不相等的整數,將它們順次插入一棵初始為空的二叉搜尋樹,然後對結果樹的結構進行描述。你需要能判斷給定的描述是否正確。例如將插入後,得到一棵二叉搜尋樹,則陳述句如 2是樹的根 1和4是兄弟結點 3和0在同一層上 指自頂向下的深度相同 2是4的雙親結點 3是4的左孩子 都是正確的 而 4是2的...

天梯賽L3 016 二叉搜尋樹的結構 (建樹)

題目鏈結 l3 016 二叉搜尋樹的結構 30 分 給定一系列互不相等的整數,將它們順次插入一棵初始為空的二叉搜尋樹,然後對結果樹的結構進行描述。你需要能判斷給定的描述是否正確。例如將插入後,得到一棵二叉搜尋樹,則陳述句如 2是樹的根 1和4是兄弟結點 3和0在同一層上 指自頂向下的深度相同 2是4...