日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]題面:L3-010. 是否完全二叉搜索樹 時間限制 400 ms內(nèi)存限制 65536 kB代碼長度限制 8000 B判題程序 Standard 作者 陳越將一系列給定數(shù)字順序插入一個


題面:


L3-010. 是否完全二叉搜索樹 時間限制 400 ms
內(nèi)存限制 65536 kB
代碼長度限制 8000 B
判題程序 Standard 作者 陳越

將一系列給定數(shù)字順序插入一個初始為空的二叉搜索樹(定義為左子樹鍵值大,右子樹鍵值?。阈枰袛嘧詈蟮臉涫欠褚豢猛耆鏄?,并且給出其層序遍歷的結(jié)果。

輸入格式:

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

輸出格式:

將輸入的N個正整數(shù)順序插入一個初始為空的二叉搜索樹。在第一行中輸出結(jié)果樹的層序遍歷結(jié)果,數(shù)字間以1個空格分隔,行的首尾不得有多余空格。第二行輸出“YES”,如果該樹是完全二叉樹;否則輸出“NO”。

輸入樣例1:

9
38?45?42?24?58?30?67?12?51

輸出樣例1:

38?45?24?58?42?30?12?67?51
YES

輸入樣例2:

8
38?24?12?45?58?67?42?51

輸出樣例2:

38?45?24?58?42?12?67?51
NO



總結(jié):

??? cccc不堪回首,自己渣,發(fā)揮又不好,題目質(zhì)量不高,編譯器還有毒。真的如很多人所說,cccc的題目質(zhì)量有待提高,形式也有待改進,題意描述不夠清晰,全靠腦洞自行補充,前面L1完全沒必要,浪費選手精力,考察知識面也太窄,弄來弄去,總是樹啊,最短路啊什么的。不能帶模板,被好多人吐槽。題目數(shù)據(jù)太水,太容易騙分,隊友錯誤的代碼,用了點技巧,滿分了。沒有數(shù)據(jù)范圍....,服務(wù)器性能太好,完全不能用acm的方式計算復(fù)雜度.....。團體的概念完全沒有體現(xiàn),只是簡單的1+1=2,希望能向acm區(qū)域賽看齊。不過,畢竟第一屆,考察的性質(zhì)也不一樣,和近40年歷史的acm存在差距,也是可以理解的。希望,在今后的比賽中,能更加體現(xiàn)團隊意識,比如幾個選手刷高級題,幾個選手刷中級題,或者說超大題量,五六個選手瘋狂刷,看總分,而不是僅僅每個人都刷一樣的題,沒太大趣味,也不能體現(xiàn)團隊的合作意識。言歸正傳。


解題:

???? 問給定的一棵樹,按層序遍歷輸出節(jié)點的值,并且判斷是不是完全二叉樹。

???? 不記得完全二叉樹的定義了,比賽的時候沒多想,畫了畫樣例,以為是某個節(jié)點的子節(jié)點數(shù)為1,則不是完全二叉樹,其實,國內(nèi)外完全二叉樹的定義也是各異的,題目應(yīng)該給出詳盡的解釋,而不是讓選手去猜。

???? 前一天熬夜了,傻乎乎的,子節(jié)點數(shù)為0,我寫了個return.....怎么查都沒查出來,浪費了三四十分鐘,造成后面全盤崩....


定義:


說法一:

????? 《算法導(dǎo)論》第3版P690有定義如下:
?????? 滿二叉樹:每個節(jié)點是葉節(jié)點或者度為2.
?????? 完全二叉樹:所有葉節(jié)點深度相同,且所有內(nèi)部節(jié)點度為2. (樹的節(jié)點總數(shù)達(dá)到最大)


說法二:【本題采用的是這種定義】

????

1.根二叉樹(Rooted Binary Tree):
有一個根結(jié)點,每個結(jié)點至多有兩個孩子。
2.滿二叉樹(Full Binary Tree):
要么是葉子結(jié)點(結(jié)點的度為0),要么結(jié)點同時具有左右子樹(結(jié)點的度為2)。
3.完全二叉樹(Complete Binary Tree):
每層結(jié)點都完全填滿,在最后一層上如果不是滿的,則只缺少右邊的若干結(jié)點。
4.完美二叉樹(Perfect Binary Tree)
所有的非葉子結(jié)點都有兩個孩子,所有的葉子結(jié)點都在同一層。即每層結(jié)點都完全填滿。
5.無限完全二叉樹(Infinite Complete Binary Tree):
每個結(jié)點都有兩個孩子,結(jié)點的層數(shù)是無限的。
6.平衡二叉樹(Balanced Binary Tree):
也稱為AVL樹,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。

作者:灰杉樹
鏈接:http://www.zhihu.com/question/19809666/answer/88158084
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 1.根二叉樹(Rooted Binary Tree):
有一個根結(jié)點,每個結(jié)點至多有兩個孩子。
2.滿二叉樹(Full Binary Tree):
要么是葉子結(jié)點(結(jié)點的度為0),要么結(jié)點同時具有左右子樹(結(jié)點的度為2)。
3.完全二叉樹(Complete Binary Tree):
每層結(jié)點都完全填滿,在最后一層上如果不是滿的,則只缺少右邊的若干結(jié)點。
4.完美二叉樹(Perfect Binary Tree)
所有的非葉子結(jié)點都有兩個孩子,所有的葉子結(jié)點都在同一層。即每層結(jié)點都完全填滿。
5.無限完全二叉樹(Infinite Complete Binary Tree):
每個結(jié)點都有兩個孩子,結(jié)點的層數(shù)是無限的。
6.平衡二叉樹(Balanced Binary Tree):
也稱為AVL樹,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。

作者:灰杉樹
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 1.根二叉樹(Rooted Binary Tree):
有一個根結(jié)點,每個結(jié)點至多有兩個孩子。
2.滿二叉樹(Full Binary Tree):
要么是葉子結(jié)點(結(jié)點的度為0),要么結(jié)點同時具有左右子樹(結(jié)點的度為2)。
3.完全二叉樹(Complete Binary Tree):
每層結(jié)點都完全填滿,在最后一層上如果不是滿的,則只缺少右邊的若干結(jié)點。
4.完美二叉樹(Perfect Binary Tree)
所有的非葉子結(jié)點都有兩個孩子,所有的葉子結(jié)點都在同一層。即每層結(jié)點都完全填滿。
5.無限完全二叉樹(Infinite Complete Binary Tree):
每個結(jié)點都有兩個孩子,結(jié)點的層數(shù)是無限的。
6.平衡二叉樹(Balanced Binary Tree):
也稱為AVL樹,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。

作者:灰杉樹
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 1.根二叉樹(Rooted Binary Tree):
有一個根結(jié)點,每個結(jié)點至多有兩個孩子。
2.滿二叉樹(Full Binary Tree):
要么是葉子結(jié)點(結(jié)點的度為0),要么結(jié)點同時具有左右子樹(結(jié)點的度為2)。
3.完全二叉樹(Complete Binary Tree):
每層結(jié)點都完全填滿,在最后一層上如果不是滿的,則只缺少右邊的若干結(jié)點。
4.完美二叉樹(Perfect Binary Tree)
所有的非葉子結(jié)點都有兩個孩子,所有的葉子結(jié)點都在同一層。即每層結(jié)點都完全填滿。
5.無限完全二叉樹(Infinite Complete Binary Tree):
每個結(jié)點都有兩個孩子,結(jié)點的層數(shù)是無限的。
6.平衡二叉樹(Balanced Binary Tree):
也稱為AVL樹,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。

作者:灰杉樹
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 1.根二叉樹(Rooted Binary Tree):
有一個根結(jié)點,每個結(jié)點至多有兩個孩子。
2.滿二叉樹(Full Binary Tree):
要么是葉子結(jié)點(結(jié)點的度為0),要么結(jié)點同時具有左右子樹(結(jié)點的度為2)。
3.完全二叉樹(Complete Binary Tree):
每層結(jié)點都完全填滿,在最后一層上如果不是滿的,則只缺少右邊的若干結(jié)點。
4.完美二叉樹(Perfect Binary Tree)
所有的非葉子結(jié)點都有兩個孩子,所有的葉子結(jié)點都在同一層。即每層結(jié)點都完全填滿。
5.無限完全二叉樹(Infinite Complete Binary Tree):
每個結(jié)點都有兩個孩子,結(jié)點的層數(shù)是無限的。
6.平衡二叉樹(Balanced Binary Tree):
也稱為AVL樹,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。

作者:灰杉樹
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 1.根二叉樹(Rooted Binary Tree):
有一個根結(jié)點,每個結(jié)點至多有兩個孩子。
2.滿二叉樹(Full Binary Tree):
要么是葉子結(jié)點(結(jié)點的度為0),要么結(jié)點同時具有左右子樹(結(jié)點的度為2)。
3.完全二叉樹(Complete Binary Tree):
每層結(jié)點都完全填滿,在最后一層上如果不是滿的,則只缺少右邊的若干結(jié)點。
4.完美二叉樹(Perfect Binary Tree)
所有的非葉子結(jié)點都有兩個孩子,所有的葉子結(jié)點都在同一層。即每層結(jié)點都完全填滿。
5.無限完全二叉樹(Infinite Complete Binary Tree):
每個結(jié)點都有兩個孩子,結(jié)點的層數(shù)是無限的。
6.平衡二叉樹(Balanced Binary Tree):
也稱為AVL樹,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。

作者:灰杉樹
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 1.根二叉樹(Rooted Binary Tree):
有一個根結(jié)點,每個結(jié)點至多有兩個孩子。
2.滿二叉樹(Full Binary Tree):
要么是葉子結(jié)點(結(jié)點的度為0),要么結(jié)點同時具有左右子樹(結(jié)點的度為2)。
3.完全二叉樹(Complete Binary Tree):
每層結(jié)點都完全填滿,在最后一層上如果不是滿的,則只缺少右邊的若干結(jié)點。
4.完美二叉樹(Perfect Binary Tree)
所有的非葉子結(jié)點都有兩個孩子,所有的葉子結(jié)點都在同一層。即每層結(jié)點都完全填滿。
5.無限完全二叉樹(Infinite Complete Binary Tree):
每個結(jié)點都有兩個孩子,結(jié)點的層數(shù)是無限的。
6.平衡二叉樹(Balanced Binary Tree):
也稱為AVL樹,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。

作者:灰杉樹
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 1.根二叉樹(Rooted Binary Tree):
有一個根結(jié)點,每個結(jié)點至多有兩個孩子。
2.滿二叉樹(Full Binary Tree):
要么是葉子結(jié)點(結(jié)點的度為0),要么結(jié)點同時具有左右子樹(結(jié)點的度為2)。
3.完全二叉樹(Complete Binary Tree):
每層結(jié)點都完全填滿,在最后一層上如果不是滿的,則只缺少右邊的若干結(jié)點。
4.完美二叉樹(Perfect Binary Tree)
所有的非葉子結(jié)點都有兩個孩子,所有的葉子結(jié)點都在同一層。即每層結(jié)點都完全填滿。
5.無限完全二叉樹(Infinite Complete Binary Tree):
每個結(jié)點都有兩個孩子,結(jié)點的層數(shù)是無限的。
6.平衡二叉樹(Balanced Binary Tree):
也稱為AVL樹,它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。


作者:灰杉樹
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 滿二叉樹通俗理解如下:一個結(jié)點要么是葉結(jié)點,要么是有兩個子結(jié)點的中間結(jié)點。
???? 完全二叉樹通俗理解如下:從根結(jié)點開始,依次從左到右填充樹結(jié)點。由此可見,滿二叉樹和完全二叉樹沒有特別的關(guān)系。



思路:

???? 按照,插入值和當(dāng)前位置值的關(guān)系,建立二叉樹,設(shè)置初始值為0,代表某節(jié)點為空,并同時給該點分配完全二叉樹下應(yīng)該為的id,用于后續(xù)判斷是否是完全二叉樹。用bfs遍歷,并用其現(xiàn)有id和應(yīng)為id比較,若不符,則不是完全二叉樹。


代碼:


#include#include#include#include#includeusing?namespace?std;
int?tree[200],le[200],ri[200],cnt=0,path[200],p=0,idd[200];
bool?flag;
//建樹
void?insert(int?x,int?v,int?id)
{
????if(tree[x]==0)
	{
		tree[x]=v;
		idd[x]=id;
		cnt++;
	}
	else
	{
		if(v>tree[x])
		{
			if(le[x]==0)
			??le[x]=cnt+1;
			insert(le[x],v,id*2);
		}
		else
		{
???????????if(ri[x]==0)
			???ri[x]=cnt+1;
		???insert(ri[x],v,id*2+1);
		}
	}
}
//層序遍歷
void?solve()
{
	int?cur;
	queueqe;
	qe.push(0);
	while(!qe.empty())
	{
???????cur=qe.front();
	???qe.pop();
	???//是否是完全二叉樹的判斷
	???if(p+1<idd[cur])
		???flag=0;
	???path[p++]=tree[cur];
	???if(le[cur]&&ri[cur])
	???{
		???qe.push(le[cur]);
		???qe.push(ri[cur]);
	???}
	???else?if(le[cur]||ri[cur])
	???{
		???if(le[cur])
		?????qe.push(le[cur]);
???????????else
			?qe.push(ri[cur]);
	???}
	}
}
int?main()
{
	int?n,tmp;
	scanf("%d",&n);
????for(int?i=1;i<=n;i++)
	{
		scanf("%d",&tmp);
		insert(0,tmp,1);
	}
	flag=1;
	solve();
	printf("%d",path[0]);
	for(int?i=1;i<p;i++)
	{
		printf("?%d",path[i]);
	}
	printf("n");
	if(flag)
		printf("YESn");
	else
		printf("NOn");
	return?0;
}




本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉