遞迴遍歷左右子樹
if(左子樹高度大於右子樹高度)
返回左子樹高度+1
否則 返回右子樹高度+1
當bt=null,返回0,遞迴呼叫結束
利用函式建樹
樹的左孩子為該節點i的:2i 樹的右孩子為該節點i的:2i+1
左子樹遞迴:bt->lchild =createbtree(str,2*i);
右子樹遞迴:bt->rchild =createbtree(str,2*i+1);
遞迴出口:字元下表i超過字元長度 或 str[i]為#;
建立佇列將根節點入棧
while(隊不空)
if(右孩子不空)
定義op為字串棧,s樹結點棧
while(遍歷字串)
while(op棧頂元素不為#)
計算表示式樹
部落格作業04 樹
在本章樹的學習中,可以說是掌握得特別虛。因為二叉樹的很多操作中都應用到了遞迴,而在上學期學習遞迴的時候就沒有掌握好,很多時候樹的幾個遞迴 會讓我沉思很久才能屢清楚整個過程,然而看懂 和會寫 還是有很大差別的,本次的pta在課本上可以找到很多相關的 情況下還是完成得跌跌撞撞的,更不敢想象如果是沒有遇到...
部落格作業04 樹
對於樹的遞迴做法看著簡單,自己寫的話很難下手 樹的性質還沒有記牢 運用樹來解題還是有困難,要多加學習 當陣列不空時 判斷是否為運算子不是則 建立新的節點,將此時的字元賦給節點,並將節點入棧 是則判斷該字元與棧頂字元的優先順序 大於則將其入棧 等於將棧頂元素出棧 小於則將棧頂元素賦予根節點,並將棧的接...
部落格作業04 樹
void initexptree btree t,string str 建表示式的二叉樹 while op棧內還有運算子 t s棧頂元素 double evaluateextree btree t 計算表示式樹 編譯錯誤 答案錯誤 部分正確 btnode createbtree char pre,c...