1.查詢二叉樹中想要的資料點(列name)
(1)前序遍歷
bool findbt(btreenode *bt , elemtype &name)
else
}
}
(2)中序遍歷
bool findbt(btreenode *bt , elemtype &name)
if(ta->rchild!=null)
findbt(bt->rchild,name);}}
後序遍歷和上面的差不多,實際上,很多二叉樹用前序遍歷就可以實現了
2)清空二叉樹
清空二叉樹,是就是先刪除根節點的左右孩子,用同樣的方法在下個根節點處,刪除其左右孩子,由此可見其實質是後序遍歷二叉樹。
void clearbt(btreenode *bt)
}
利用二叉樹的後序遍歷,可以很方便的實現其他運算,例如,統計二叉樹的節點個數,求二叉樹中所有的子葉節點等等,**實現過程下次再給大家分享。
二叉查詢樹與平衡二叉樹
二叉查詢樹的性質 對於樹中的每乙個節點x,它的左子樹中所有關鍵字值小於x的關鍵字值,它的右子樹中的所有關鍵字值大於x的關鍵字值。二叉查詢樹的平均深度為o logn 下面看一下它的相關的操作函式。刪除乙個二叉樹 遞迴形式 void makeempty treenode root 在二叉查詢樹中找都某個...
二叉樹 二叉查詢樹
構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 include include include include using namespace std 二叉樹結點 struct treenode 鍊錶結點 struct listnode struct tempnodetempnode...
二叉樹 二叉查詢樹
二叉樹 binary tree 一種樹型結構,每個節點最多擁有兩個節點。如下圖 幾種型別的二叉樹 1.full binary tree 每個節點的孩子數 是 0 或者 2.對高度沒有要求。如下圖 2.perfect binary tree 這個就是最完美的樹,顧名思義,所有葉子節點都有相同的深度,並...