卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

交換左右子樹用什么遍歷 二叉樹中如何交換左右子樹?

二叉樹中如何交換左右子樹?使用遍歷,每次遍歷節(jié)點(diǎn)時(shí),它都會(huì)交換其左右子樹voidswap(bnode*root){//遍歷bnode*tempif(root)!=null){swap(root->

二叉樹中如何交換左右子樹?

使用遍歷,每次遍歷節(jié)點(diǎn)時(shí),它都會(huì)交換其左右子樹voidswap(bnode*root){//遍歷bnode*tempif(root)!=null){swap(root->lchild):swap(root->rchild)temp=root->lchild=root->rchildroot->rchildroot->rchildroot->rchild=temp}

根據(jù)二叉樹的特性,如堆或搜索二叉樹,不允許交換左右子樹

這取決于二叉樹的特性

像堆或搜索二叉樹一樣,不允許交換左右子樹

使用遍歷,每次遍歷到一個(gè)節(jié)點(diǎn),交換它的左右子樹

void swap(bnode*root)

{//使用后序遍歷

bnode*temp

if(root)!=null)

{

swap(root->lchild)

swap(root->rchild)

temp=root->lchild

root->lchild=root->rchild

root->rchild=temp

}

如果需要轉(zhuǎn)換所有節(jié)點(diǎn)的所有左、右子樹,則主要有兩種方法。深度優(yōu)先遍歷,從根到最小子樹的訪問解決問題。當(dāng)所有節(jié)點(diǎn)都被訪問時(shí),交換就完成了?;蛘連FS廣度優(yōu)先從根節(jié)點(diǎn)依次交換左右子樹,訪問完所有節(jié)點(diǎn)后交換完成。建議使用BFS。邏輯簡(jiǎn)單易懂,實(shí)現(xiàn)簡(jiǎn)單。排隊(duì)感覺也比堆積如山好。

二叉樹的左右子樹可以任意交換嗎?

傳入樹的根節(jié)點(diǎn):exchangelr(&root)//根是樹的根節(jié)點(diǎn)。Void exchangelr(treenode*root){treenode*TMP if(root==null)return//左子樹交換exchangelr(root->left)//右子樹交換exchangelr(root->right)//當(dāng)前節(jié)點(diǎn)的左右子樹TMP=root->left root->left=root->right root->right=TMP}