遞迴之二叉樹的子樹和子結構

2022-05-03 04:00:11 字數 571 閱讀 2855

這裡說一下二叉樹的子樹和子結構的概念:

子樹的意思是包含了乙個結點,就得包含這個結點下的所有節點,一棵大小為n的二叉樹有n個子樹,就是分別以每個結點為根的子樹。子結構的意思是包含了乙個結點,可以只取左子樹或者右子樹,或者都不取。

基本的資料結構treenode:

struct

treenode

};

下面是判斷b是否是a的子樹的**:

bool issametree(treenode* proot1,treenode*proot2)

bool hassubtree(treenode* proot1, treenode*proot2)

下面是判斷b是否是a的子結構的**,相對於上面判斷是否是子樹的**稍微有所不同:

class

solution

bool hassubtree(treenode* proot1, treenode*proot2)

};

二叉樹的子樹和子結構

子樹 是只要包含了乙個結點,就得包含這個結點下的所有節點。子結構 包含了乙個結點,可以只取左子樹或者右子樹,或者都不取。判斷乙個二叉樹是不是另乙個二叉樹子樹的 實現如下 class solution private bool issubtree treenode r1,treenode r2 ret...

二叉樹的子樹和子結構

子樹的意思是包含了乙個結點,就得包含這個結點下的所有節點,一棵大小為n的二叉樹有n個子樹,就是分別以每個結點為根的子樹。子結構的意思是包含了乙個結點,可以只取左子樹或者右子樹,或者都不取。直接上 這解釋起來也蛋疼。class solution public bool issubtree treeno...

二叉樹的子樹和子結構

子樹的意思是包含了乙個結點,就得包含這個結點下的所有節點,一棵大小為n的二叉樹有n個子樹,就是分別以每個結點為根的子樹。子結構的意思是包含了乙個結點,可以只取左子樹或者右子樹,或者都不取。直接上 這解釋起來也蛋疼。class solution public bool issubtree treeno...