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

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]1、定義---- 二叉樹的遍歷(traversing binary tree)是指從根結(jié)點出發(fā),按照某種次序依次訪問二叉樹中所有結(jié)點,使得每個結(jié)點被訪問一次且僅被訪問一次。2、遍歷算法---- 限定先

1、定義

---- 二叉樹的遍歷(traversing binary tree)是指從根結(jié)點出發(fā),按照某種次序依次訪問二叉樹中所有結(jié)點,使得每個結(jié)點被訪問一次且僅被訪問一次。

2、遍歷算法

---- 限定先左結(jié)點后右結(jié)點后,主要的遍歷算法分為四種:

--1)前序遍歷(根結(jié)點--左子樹--右子樹)

規(guī)則是若二叉樹為空,則空操作返回,否則先訪問根結(jié)點,然后前序遍歷左子樹,再前序遍歷右子樹。

如下圖所示的二叉樹,前序遍歷結(jié)果是:ABDECF

? ? ? ? ? ??

--2)中序遍歷(左子樹--根結(jié)點--右子樹)

規(guī)則是若樹為空,則空操作返回,否則從根結(jié)點開始(注意并不是先訪問根結(jié)點),中序遍歷根結(jié)點的左子樹,然后是訪問

根結(jié)點,最后中序遍歷右子樹。

上圖所示二叉樹的中序遍歷結(jié)果是:DBEAFC

--3)后序遍歷(左子樹--右子樹--根結(jié)點)

規(guī)則是若樹為空,則空操作返回,否則從左到右先遍歷左子樹,再遍歷左子樹,最后訪問根結(jié)點。

上圖所示二叉樹的后序遍歷結(jié)果是:DEBFCA

--4)層序遍歷

規(guī)則是若樹為空,則空操作返回,否則從樹的第一層,也就是根結(jié)點開始訪問,從上而下逐層遍歷,在同一層中,按從左到右

的順序?qū)Y(jié)點逐個訪問。上圖所示二叉樹的層序遍歷結(jié)果是:ABCDEF

具體算法如下:


#includeusing?namespace?std;

typedef?int?TElemType;
typedef?struct?BTNode?//結(jié)點結(jié)構(gòu)
{
	TElemType?data;//結(jié)點數(shù)據(jù)
	struct?BTNode?*lchild,*rchild;?//左右孩子指針
}BNode,*BTree;
//前序遍歷
void?preorder(BNode?*?root)
{
	if(root!=NULL)
	{
		printf("%d",root->data);
		preorder(root->lchild);
		preorder(root->rchild);
	}
}
//中序遍歷
void?inorder(BNode?*?root)
{
	if(root!=NULL)
	{
		inorder(root->lchild);
		printf("%d",root->data);
		inorder(root->rchild);
	}
}
//后序遍歷
void?postorder(BNode?*?root)
{
	if(root!=NULL)
	{
		postorder(root->lchild);
		postorder(root->rchild);
		printf("%d",root->data);
	}
}
//二叉樹的葉子節(jié)點數(shù)
int?leaf(BNode?*?root)
{
	if(root==NULL)??//空樹
		return?0;
	int?L,R;
	if(root->lchild==NULL?&&?root->rchild==NULL)??//葉子結(jié)點
		return?1;
	L?=?leaf(root->lchild);?//統(tǒng)計左子樹的葉子數(shù)
	R?=?leaf(root->rchild);?//統(tǒng)計右子樹的葉子數(shù)
	return?L+R;
}



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