二叉树

来源:互联网 发布:标签设计软件 编辑:程序博客网 时间:2024/05/22 16:46
struct TreeNode{    int val;    TreeNode *left,*right;    TreeNode(int x):val(x),left(0),right(0){}};//前序建树void createTree(TreeNode *&root){    int i;    cin>>i;    if(i==0)root=0;    else    {        root=new TreeNode(i);        createTree(root->left);        createTree(root->right);    }}//中序建树void createTree(TreeNode *&root){    int i;    cin>>i;    if(i==0)root=0;    else    {        createTree(root->left);        root=new TreeNode(i);        createTree(root->right);    }}//后序建树void createTree(TreeNode *&root){    int i;    cin>>i;    if(i==0)root=0;    else    {        createTree(root->left);        createTree(root->right);        root=new TreeNode(i);    }}


1.在二叉树的第i层上至多有2^(i-1)个结点(i>=1)。

2.深度为k的二叉树至多有2^k-1个结点,(k>=1)。

3.对任何一颗二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。




0 0
原创粉丝点击