uva122 二叉樹的動態建立與BFS (非遞迴)

2021-08-22 18:13:29 字數 644 閱讀 2533

題目大意是根據一組一組離根節點的操作確定子節點。

思路:根據操作直接推出節點的編號,將編號和值存在陣列中建立二叉樹。

#includeusing namespace std;

int vis[100000]=,tree[100000]=;

char s5[100000];

int main()

s5[n++]=a;

} if(flag1)break;

s5[n]='\0';

s1=s5;

string s3;

stringstream ss(s1);

int maxx=0,flag=0;

memset(vis,0,sizeof(vis));

memset(tree,0,sizeof(tree));

while(ss>>s)

else if(s[i]=='r')

}if(!vis[k])

else

} for(int i=2;i<=maxx;i++)

}} if(flag)

else

}} printf("\n");

memset(s5,0,sizeof(s5));

}}

動態模擬建立二叉樹

題目要求 編寫乙個c程式,要求在c程式圖形介面下動態模擬顯示二叉樹的先序建立過程。題目分析 為了動態地顯示二叉樹的先序建立過程,首先要在記憶體中生成一棵真正的二叉樹,然後對二叉樹進行先序遍歷,每遍歷到乙個結點就將該結點的內容輸出到介面上,列印出乙個結點的圖案。在遍歷二叉樹的過程中,要根據二叉樹的結點...

建立二叉樹 後序建立二叉樹

由後序遍歷可知,輸入順序是左結點 右結點 子樹根結點 比如輸入如下樹 ab cde 輸入序列為 e d b c a 思路 使用棧,對左結點和右結點進行壓棧 1.當輸入遇到非 且棧中元素大於等於2,則可以確定乙個小三角樹形,並將這個樹根作為下乙個小三角樹形的乙個子節點 2.當輸入遇到非 但棧中元素小於...

二叉樹的建立 遍歷1 建立二叉樹

談二叉樹,如果二叉樹都沒有正確的建立出來,那豈不是紙上談兵!括號表示式 表示方法 1.括號 括號內的東西是括號前的元素的孩子 2.逗號 逗號是為了區分左右孩子 演算法分析 給出乙個如上的括號表示式 a b d g e,f 再利用棧這個資料結構,分析一下 掃瞄整個括號表示的字串,這個字串中只有四種字元...