表達(dá)式轉(zhuǎn)二叉樹原理 每一個數(shù)學(xué)公式都能轉(zhuǎn)化成一顆二叉樹嗎?
每一個數(shù)學(xué)公式都能轉(zhuǎn)化成一顆二叉樹嗎?原則上,這是可能的,因?yàn)槊總€數(shù)學(xué)符號只與一個或兩個操作數(shù)相關(guān)聯(lián)。因此,將數(shù)學(xué)公式轉(zhuǎn)化為二叉樹時,葉節(jié)點(diǎn)都是操作數(shù),非葉節(jié)點(diǎn)都是數(shù)學(xué)符號。由于與每個數(shù)學(xué)符號關(guān)聯(lián)的操
每一個數(shù)學(xué)公式都能轉(zhuǎn)化成一顆二叉樹嗎?
原則上,這是可能的,因?yàn)槊總€數(shù)學(xué)符號只與一個或兩個操作數(shù)相關(guān)聯(lián)。因此,將數(shù)學(xué)公式轉(zhuǎn)化為二叉樹時,葉節(jié)點(diǎn)都是操作數(shù),非葉節(jié)點(diǎn)都是數(shù)學(xué)符號。由于與每個數(shù)學(xué)符號關(guān)聯(lián)的操作數(shù)小于或等于2,因此非葉節(jié)點(diǎn)的分支數(shù)不會大于2,因此可以表示。
樹怎么轉(zhuǎn)化為二叉樹?
將樹轉(zhuǎn)換為二叉樹:①添加行:在兄弟之間添加一行;②擦除行:除去每個節(jié)點(diǎn)與除左子節(jié)點(diǎn)外的其他子節(jié)點(diǎn)之間的關(guān)系;③旋轉(zhuǎn):以樹的根節(jié)點(diǎn)為軸順時針旋轉(zhuǎn)整棵樹45°,將二叉樹轉(zhuǎn)換為樹:①加行:如果P節(jié)點(diǎn)是父節(jié)點(diǎn)的左子節(jié)點(diǎn),然后是P的右子節(jié)點(diǎn),右子節(jié)點(diǎn)的右子節(jié)點(diǎn)沿著分支找到的所有右子節(jié)點(diǎn)都與P的父節(jié)點(diǎn)通過線連接。2擦除:擦除原始二叉樹中父級和正確子級之間的行。三。調(diào)整:按層次排列節(jié)點(diǎn),形成樹形結(jié)構(gòu)
首先根據(jù)中間級表達(dá)式(1)繪制二叉樹。將二叉樹分成兩部分,a*B,c*(D-E)/F,其父節(jié)點(diǎn)為2。然后依次對a*B和c*(D-E)/F進(jìn)行同樣的劃分。然后你可以得到一個二叉樹,最后你可以得到一個后序表達(dá)式。)