二叉樹習題整理(二)

2021-09-29 14:04:05 字數 631 閱讀 8018

編寫遞迴演算法,求二叉樹中以元素值為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的所在子樹...