真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

判斷二叉樹是否為完全二叉樹

判斷二叉樹是否為完全二叉樹。完全二叉樹的定義是,前n-1層都是滿的,第n層如有空缺,則是缺在右邊,即第n層的最右邊的節(jié)點(diǎn),它的左邊是滿的,右邊是空的。

創(chuàng)新互聯(lián)長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為烏什企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,烏什網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

這個問題的描述已經(jīng)提示了解法,采用廣度優(yōu)先遍歷,從根節(jié)點(diǎn)開始,入隊列,如果隊列不為空,循環(huán)。遇到第一個沒有左兒子或者右兒子的節(jié)點(diǎn),設(shè)置標(biāo)志位,如果之后再遇到有左/右兒子的節(jié)點(diǎn),那么這不是一顆完全二叉樹。

這個方法需要遍歷整棵樹,復(fù)雜度為O(N),N為節(jié)點(diǎn)的總數(shù)。


#include
#include
using namespace std;
bool leftMost =false;
queue q;
bool ProcessChild(Node* node)
{
	if(node)
	{
		if(!leftMost)
		{
			q.push_back(node);
		}
		else
			return false;
	}
	else
		leftMost=true;
	return true;
}
bool IsCompleteBinaryTree(Node* root)//層序遍歷 
{
	if(root==NULL)
		return true;
	q.push_back(root);
	while(!q.empty())
	{
		Node* node=q.pop();
		if (!ProcessChild(node->left))  
            return false;  
  
        //處理右節(jié)點(diǎn)  
        if (!ProcessChild(node->right))  
            return false;  
	}
	return true;

}

分享文章:判斷二叉樹是否為完全二叉樹
轉(zhuǎn)載來于:http://weahome.cn/article/ggghpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部