求二叉樹的葉子結點個數(C語言)

2021-10-06 16:51:00 字數 815 閱讀 5398

輸出有兩行:

第一行是二叉樹的中序遍歷序列;

第二行是二叉樹的葉子結點個數。

abc##de#g##f###
cbegdfa

3

到此總結了二叉樹的構造、求深度、結點、葉子節點、三種順序遍歷的演算法,都在之前的幾篇部落格裡。

#include

#include

typedef

struct bitnodebitnode,

*bitree;

//先序序列建立二叉樹

intcreatebitree

(bitree *t)

else

(*t)

->data = ch;

createbitree(&

(*t)

->lchild)

;createbitree(&

(*t)

->rchild);}

return1;

}//中序遍歷二叉樹

void

inorder

(bitree t)

}//求葉子節點個數

int nodecount ( bitree t)

else

else

return

nodecount

(t->lchild)

+nodecount

(t->rchild);}

}int

main()

return0;

}

求二叉樹葉子結點個數

樹的定義 由乙個或多個 n 0 結點組成的有限集合t,有且僅有乙個結點稱為根 root 當 n 1時,其餘的結點分為m m 0 個相互不相交的有限集合t1,t2,tm。每個集合本身又是棵樹,被稱作這個根的子樹。樹的結構特點 1.非線性結構,有乙個直接前驅,但可能有多個直接後繼 1 n 2.樹的定義具...

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

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

計算二叉樹的結點個數

include using namespace std extern int gnum 0 struct infor class test static int creattrees struct infor p,int k if 2 k creattrees q,1 creattrees q,2 ...