求二叉树中所有结点的个数
来源:互联网 发布:淘宝女装海报素材 编辑:程序博客网 时间:2024/04/27 17:29
实际上,在前面已经有涉及到该问题. 程序如下:
#include<iostream>#define N 63using namespace std;char str[] = "ab#d##c#e##";int i = -1;typedef struct node{struct node *leftChild;struct node *rightChild;char data;}BiTreeNode, *BiTree;//生成一个结点BiTreeNode *createNode(int i){BiTreeNode * q = new BiTreeNode;q->leftChild = NULL;q->rightChild = NULL;q->data = i;return q;}BiTree createBiTree1(){BiTreeNode *p[N] = {NULL};int i;for(i = 0; i < N; i++)p[i] = createNode(i + 1);// 把结点连接成树for(i = 0; i < N/2; i++){p[i]->leftChild = p[i * 2 + 1];p[i]->rightChild = p[i * 2 + 2];}return p[0];}void createBiTree2(BiTree &T){i++;char c;if(str[i] && '#' == (c = str[i]))T = NULL;else{T = new BiTreeNode;T->data = c;createBiTree2(T->leftChild);createBiTree2(T->rightChild);}}int getAllNode(BiTree T){if(NULL == T)return 0;return 1 + getAllNode(T->leftChild) + getAllNode(T->rightChild);}int main(){BiTree T1;T1 = createBiTree1();cout << getAllNode(T1) << endl;BiTree T2;createBiTree2(T2);cout << getAllNode(T2) << endl;return 0;}
- 求二叉树中所有结点的个数
- 求二叉树中结点的最大值(所有结点的值都是正整数)
- 求二叉树中值为x的结点的个数
- 求树对应的二叉树中无右孩子的结点个数
- 求二叉树中叶子结点的个数
- 求二叉树中分支结点的个数
- 求二叉树中叶子结点的个数
- 求二叉树的叶子结点个数及深度
- 7-1 求二叉树的叶子结点个数
- 求二叉树中单分支结点的个数
- 求二叉树中双分支结点的个数
- 求二叉树中某层次结点的个数
- 求二叉树叶子结点的个数
- 【数据结构基础】求二叉树结点个数
- 二叉树求两个结点的父节点及一个结点的所有祖先结点
- 求二叉树中结点值的和为指定整数的所有路径
- 求二叉树的所有结点之和,Python实现
- 求二叉树的高度,叶子节点个数,第K层结点个数,求祖先结点问题
- c 语言宏定义
- 远程图片加载:SDWebImage
- Android 实用工具Hierarchy Viewer实战
- 20121109,微软十一月安全补丁提前通知
- linux kernel ioremap
- 求二叉树中所有结点的个数
- 最长公共子序列的Ruby实现
- 1290错误
- jsp下载文件的实现方法 及 注意
- Cstring使用问题和struct结构体初始化方法汇总
- OpenCV访问修改图像的像素值
- 远程登录root不能创建存储过程
- LPSTR,LPWSTR,LPCTSTR,LPTSTR
- 从脚印看UGC社区在国内发展挑战