描述
創(chuàng)新互聯服務項目包括碧江網站建設、碧江網站制作、碧江網頁制作以及碧江網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,碧江網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到碧江省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!我們可以把由“0”和“1”組成的字符串分為三類:全“0”串稱為B串,全“1”串稱為I串,既含“0”又含“1”的串則稱為F串。
FBI樹是一種二叉樹,它的結點類型也包括F結點,B結點和I結點三種。由一個長度為2^N的“01”串S可以構造出一棵FBI樹T,遞歸的構造方法如下:
1) T的根結點為R,其類型與串S的類型相同;
2) 若串S的長度大于1,將串S從中間分開,分為等長的左右子串S1和S2;由左子串S1構造R的左子樹T1,由右子串S2構造R的右子樹T2。
現在給定一個長度為2^N的“01”串,請用上述構造方法構造出一棵FBI樹,并輸出它的后序遍歷序列。
輸入
輸入的第一行是一個整數N(0<=N<=10),第二行是一個長度為2^N的“01”串。
輸出
輸出包括一行,這一行只包含一個字符串,即FBI樹的后序遍歷序列。
樣例輸入
樣例輸出
題目上傳者
crq
分析:樹的例題,runtime errorr好幾次/(ㄒoㄒ)/~~
ku要開到2的10次方1024;
注意l==r時把最后一個*t的ltree和rtree指向NULL//
別的不說,簡單題,上代碼
#include#include//根結點自行創(chuàng)造//
using namespace std;
int n;
int f1,f0;
char ku[1500];
struct tree{
char data;
tree *ltree,*rtree;
};
void create_tree(int l,int r,tree *&t)
{
f1=0;f0=0;
for(int i=l;i<=r;i++)
{
if(ku[i]=='1')
f1=1;
else if(ku[i]=='0')
f0=1;
}
char temp;
if(f1&&f0)
temp='F';
else if(f1)
temp='I';
else if(f0)
temp='B';
t=(tree*)malloc(sizeof(tree));
t->data=temp;
if(l==r)
{
t->ltree=NULL;
t->rtree=NULL;
return ;
}
int mid=l+r>>1;
create_tree(l,mid,t->ltree);
create_tree(mid+1,r,t->rtree);
}
void after(tree *t)
{
if(t)
{
after(t->ltree);
after(t->rtree);
cout<data;
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
int l=1,r=1;
if(n)
{
while(n--)
r*=2;
}
for(int i=l;i<=r;i++)
cin>>ku[i];
tree *t=NULL;
create_tree(l,r,t);
after(t);
return 0;
}
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
分享文章:TZOJFBI樹-創(chuàng)新互聯
鏈接地址:http://muchs.cn/article36/cesepg.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站建設、標簽優(yōu)化、云服務器、品牌網站設計、小程序開發(fā)、網頁設計公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯