二叉樹的深度算法 二叉樹的層次遍歷和圖的廣度優(yōu)先搜索的相同點(diǎn)和不同點(diǎn)?
二叉樹的層次遍歷和圖的廣度優(yōu)先搜索的相同點(diǎn)和不同點(diǎn)?相似性:兩者都從節(jié)點(diǎn)B開始,并訪問其相鄰節(jié)點(diǎn)一次。對(duì)于樹,它是它的左、右子節(jié)點(diǎn),而圖是一個(gè)連接的節(jié)點(diǎn)。區(qū)別:對(duì)于圖,一個(gè)頂點(diǎn)有多個(gè)相鄰節(jié)點(diǎn),而只有兩
二叉樹的層次遍歷和圖的廣度優(yōu)先搜索的相同點(diǎn)和不同點(diǎn)?
相似性:兩者都從節(jié)點(diǎn)B開始,并訪問其相鄰節(jié)點(diǎn)一次。對(duì)于樹,它是它的左、右子節(jié)點(diǎn),而圖是一個(gè)連接的節(jié)點(diǎn)。
區(qū)別:對(duì)于圖,一個(gè)頂點(diǎn)有多個(gè)相鄰節(jié)點(diǎn),而只有兩個(gè)二叉樹。另外,當(dāng)在寬度上遍歷圖時(shí),需要添加一個(gè)visited[mavx]數(shù)組來記錄訪問的節(jié)點(diǎn),以避免重復(fù)訪問同一個(gè)節(jié)點(diǎn)。例如:(A1,A2)(A1,A3)(A2,A3)訪問A1之后,寬度遍歷將訪問A2和A3,訪問A2之后,它將再次訪問A3。這是重復(fù)的。另外,圖是不連通的,而二叉樹是不連通的。
二叉樹求葉子結(jié)點(diǎn)個(gè)數(shù)的算法(遞歸遍歷)?
Int BTREE depth(BT->lchild){//find the depth of binary tree if(BT==null)//empty tree returns 0return 0else{Int dep1=BTREE depth(BT->lchild)//遞歸調(diào)用逐層分析Int dep2=BTREE depth(BT->rchild)if(dep1>dep2)return dep2 1}}Int leave(bitnode*BT){//find二叉樹中的葉節(jié)點(diǎn)數(shù)if(BT==null)返回0else{if(BT->lchild==null)&這是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的練習(xí)。它使用遞歸形式。理解的時(shí)候需要考慮一下,但是函數(shù)相對(duì)簡(jiǎn)單。