#include <iostream>
using namespace std; struct Tree
{
int data;
Tree *lchild;
Tree *rchild;
}tree; Tree *Create(int a1[],int b1[],int n)
{
int k;
if(n<=)
return NULL;
int root=a1[];
Tree *bt=(Tree *)malloc(sizeof(Tree));
bt->data=root;
for(k=;k<n;k++)
{
if(b1[k]==root)
break;//分割左右子树
}
bt->lchild=Create(a1+,b1,k);
bt->rchild=Create(a1+k+,b1+k+,n-k-);
return bt;
} int Tsum(Tree *r)
{
if(r->lchild==NULL&&r->rchild==NULL)
return r->data;
if(r->lchild==NULL&&r->rchild!=NULL)
return Tsum(r->rchild);
if(r->lchild!=NULL&&r->rchild==NULL)
return Tsum(r->lchild);
if(r->lchild!=NULL&&r->rchild!=NULL)
return Tsum(r->lchild)+Tsum(r->rchild);
return r->data;
} int main()
{
Tree *rt;
int sum1;
int a[],b[],N;//N为总节点数,a为先序序列,b为中序序列
cin>>N;
for(int i=;i<N;i++)
cin>>a[i];
for(int i=;i<N;i++)
cin>>b[i];
rt=Create(a,b,N);//存树
sum1=Tsum(rt);
cout<<sum1<<endl;
return ;
}

C++练习 | 递归创建二叉树并求叶子结点的数值和的更多相关文章

  1. 非递归创建二叉树( C++队列 )

    非递归按照 层序 创建二叉树,利用 队列(即可先进先出特点)存放已访问的结点元素的地址. 初始化:front=rear= -1: 每储存一个结点元素 rear+1 ,利用 rear%2==0 来使 f ...

  2. C语言实现二叉树中统计叶子结点的个数&度为1&度为2的结点个数

    算法思想 统计二叉树中叶子结点的个数和度为1.度为2的结点个数,因此可以参照二叉树三种遍历算法(先序.中序.后序)中的任何一种去完成,只需将访问操作具体变为判断是否为叶子结点和度为1.度为2的结点及统 ...

  3. 数据结构(3) 第三天 栈的应用:就近匹配/中缀表达式转后缀表达式 、树/二叉树的概念、二叉树的递归与非递归遍历(DLR LDR LRD)、递归求叶子节点数目/二叉树高度/二叉树拷贝和释放

    01 上节课回顾 受限的线性表 栈和队列的链式存储其实就是链表 但是不能任意操作 所以叫受限的线性表 02 栈的应用_就近匹配 案例1就近匹配: #include <stdio.h> in ...

  4. Java实现二叉树地遍历、求深度和叶子结点的个数

    一.分析 二叉树是n个结点所构成的集合,它或为空树,或为非空树.对于非空树,它有且仅有一个根结点,且除根结点以外的其余结点分为两个互不相交的子集,分别称为左子树和右子树,它们本身又都是二叉树. 显而易 ...

  5. c++实现二叉树层序、前序创建二叉树,递归非递归实现二叉树遍历

    #include <iostream> #include <cstdio> #include <stdio.h> #include <string> # ...

  6. 递归------python实现列表创建二叉树

    # -*- coding:utf-8 -*- '二叉树结点类' class TreeNode: def __init__(self, x): self.val = x self.left = None ...

  7. SDUT 3346 数据结构实验之二叉树七:叶子问题

    数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...

  8. SDUT OJ 数据结构实验之二叉树七:叶子问题

    数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...

  9. SDUT-3346_数据结构实验之二叉树七:叶子问题

    数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 已知一个按先序输入的字符序列,如abd ...

随机推荐

  1. Google APAC----Africa 2010, Qualification Round(Problem C. T9 Spelling)----Perl 解法

    原题地址链接:https://code.google.com/codejam/contest/351101/dashboard#s=p2 问题描述: Problem The Latin alphabe ...

  2. 如何在FineReport中解析数据库内XML文件

    在数据库表中,其中字段XML所存的为xml格式数据在表xmltest中.那么在使用该表进行报表制作时,需要将存于xml字段中的值读取出来作为报表数据源. XML每条记录数据格式如下: <Fiel ...

  3. Python - Exceptions

    官方文档:https://docs.python.org/3/library/exceptions.html 1. 使用try...except... 2. 输出错误信息的方式为: try: curs ...

  4. 第8课 网络数据读取测试-TinyWebDB

    TinyWebDB是在线小型数据库,通过它的使用,可以将数据保存在网络,实现排行榜等功能.   实现功能:读入数据并保存,读出数据并显示.   1.组件设计   TinyWebDB1:非可视化,借用网 ...

  5. centos7 安装 maven 和ant git 以及 rocketmq 4.2安装过程(安装成功,调用失败)

    1.maven 安装 wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /et ...

  6. mongodb节点配置指南

    修改复制集节点的优先级 复制集节点的 priority 参数的值决定了选举中该节点的优先级.值越高,优先级越高. 我们可以通过修改复制集配置参数中 members 数组位置的优先级来修改对应机器的优先 ...

  7. Git访问TFS出现权限不足(Using Personal Access Tokens to access Visual Studio Online)

    使用GIT克隆TFS服务器上的代码到本地时出现错误如下: fatal: Authentication failed for 'https://***.visualstudio.com/***Proje ...

  8. [BZOJ 1124][POI 2008] 枪战 Maf

    1124: [POI2008]枪战Maf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 659  Solved: 259[Submit][Status ...

  9. Union Find

    并查集 前言 来自知乎,Coursera 上普林斯顿大学的算法公开课,稍微来博客上写写记记. 课程资源:1. Algorithms, Part I 2. Algorithms, Part II 3. ...

  10. easy_encode_decode

    s = input("输入:") result = '' for i in range(len(s)): result += chr(ord(s[i])^2000) print(r ...