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