資料結構 樹的節點個數

2021-08-21 19:32:46 字數 840 閱讀 7400

【題目來自灰灰考研】

2018北理813,2018華科887

求二叉樹的結點個數,如果根節點為空,則返回 0。 

typedef struct bintreenode *bintreenode

#include#include#includeusing namespace std;

int count = 0;

typedef struct tnodetnode;

void createtree(tnode *&bt)

}tnode *createtree1()

return root;

}void getnodenumber(tnode *root)

}void preorderrecursionvisit(tnode *bt)

}int main()

*bintreenode; 

同樣的遞迴遍歷思想,只要修改一下計數策略即可

void nodesnumhastwochildren(tnode *bt)

}

作業:(青蛙題精選) 

求二叉樹所有具有單個子女的結點個數,如果根節點為空,則返回 0。 

其二叉樹結點結構定義為:

typedef struct bintreenode *bintreenode; 

void nodesnumhasonechildren(tnode *bt)

}

求樹的葉子節點個數

首先我們得知道什麼事葉子節點,葉子節點就是只有根節點沒有子節點的節點。下面我們就根據這個特性來寫一下這個程式 typedef struct bitnode bitnode int sum 0 用來存放葉子節點個數 void countlef bitnode root else if root lch...

二叉樹的節點個數 葉子節點個數 第k層的節點個數

class binarytreenode public class nodesstatistics 求二叉樹中葉子節點的個數 1 如果二叉樹為空,返回0 2 如果二叉樹不為空,返回1 3 如果二叉樹不為空,且左右子樹不同時為空,返回左子樹中葉子節點個數加上右子樹中葉子節點個數。param root ...

求二叉樹的高度,寬度 節點個數 葉子節點個數

include include include 實現求二叉樹的高度,寬度 節點個數 葉子節點個數 typedef struct node tnode,ptnode ptnode createtree else ptnode data data ptnode lchild createtree ptn...