編寫遞迴演算法,求二叉樹中以元素值為x的結點為根的子樹的深度
先遞迴找出x的位置,用p指向,然後找到子樹的深度(求樹的深度的思路:
1、如果樹為空,則深度為0
2、如果樹不是空,那麼深度是左子樹的深度+1或右子樹的深度+1)
int
t644
(bitree *t,telemtype x)
bitree locationbitree
(bitree *t,telemtype x)
else
}return
null;}
intbitreedepth
(bitree p)
}
對於二叉樹中每乙個元素值為x的結點,刪除以它為跟的子樹,並釋放相應的空間
void
t645
(bitree *t,elemtype x)
}}
層次順序遍歷二叉樹
首先根結點入隊,然後迴圈,有左節點則左節點入隊,有右節點則右節點入隊;j標識佇列,i標識迴圈次數
void
t647
(bitree t)
}
二叉樹習題整理(一)
編寫遞迴演算法,在二叉樹中求位於先序序列中第k個位置的結點的值 宣告乙個order用來計數,先序遍歷,每遍歷乙個結點order 1,然後判斷k是否等於order,等於則將結點的值域賦給e status t641 bitree t,telemtype e,int order,int k else re...
二叉樹習題之重建二叉樹
對於給定前序和中序的重建方法。1 前序的第乙個元素一定是樹的根節點,在中序集合中找到此元素,那麼該元素的左面即為根的左子樹,右面為右子樹。2 找到前序的第二個元素,重複上面的步驟。自寫程式的效率大概為 n n 2 或最大的那個元素 這點很坑,斟酌改掉 目前沒發現更快的寫法 自己寫 結果以連續記憶體的...
二叉樹 二叉樹
題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...