编写算法,统计二叉树叶子结点个数(二叉树采用二叉链表存储结构)。
typedef struct BNode{ElemType data;struct BNode *lchild,*rchild;}*BiTree;int LeafNodeCount(BiTree T){if(T==NULL) return 0; //如果是空树,则叶子结点个数为0else if(T->lchild==NULL&&T->rchild==NULL) return 1; //判断结点是否是叶子结点(左孩子右孩子都为空),若是则返回1else return LeafNodeCount(T->lchild)+LeafNodeCount(T->rchild);}
举一反三
内容
- 0
【算法设计题】以二叉链表作为二叉树的存储结构,编写算法:计算二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。
- 1
若一棵有n个结点的二叉树采用二叉链表来存储,则此二叉链表中的指针域个数为
- 2
若一棵有n个结点的二叉树采用二叉链表来存储,二叉链表结点结构为(lchild,data,rchild),则该二叉链表中有个空指针域。
- 3
以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为
- 4
一棵具有n个结点的二叉树,采用二叉链表存储,则二叉链表中指向孩子结点的指针有_________个。