成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

二叉樹中如何交換左右子樹?使用遍歷,每次遍歷節(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í),交換就完成了。或者BFS廣度優(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}