求二叉树的节点个数

article/2025/9/20 2:56:11

如果是空树,则结点个数为0,递归结束
否则结点个数为左子树的结点个数+右子树的结点个数+1
【算法描述】

int NodeCount(BiTree T)
{if (T == NULL)return 0; // 如果是空树,则结点个数为0,递归结束elsereturn NodeCount(T->lchild) + NodeCount(T->rchild) + 1;//否则结点个数为左子树的结点个数+右子树的结点个数+1
}

具体代码实现

//统计二叉树中结点的个数
#include <iostream>
using namespace std;//二叉树的二叉链表存储表示
typedef struct BiNode
{char data;                      //结点数据域struct BiNode *lchild, *rchild; //左右孩子指针
} BiTNode, *BiTree;//建立二叉链表
void CreateBiTree(BiTree &T)
{//按先序次序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树Tchar ch;cin >> ch;if (ch == '#')T = NULL; //递归结束,建空树else{T = new BiTNode;T->data = ch;            //生成根结点CreateBiTree(T->lchild); //递归创建左子树CreateBiTree(T->rchild); //递归创建右子树}                            //else
} //CreateBiTreeint NodeCount(BiTree T)
{if (T == NULL)return 0; // 如果是空树,则结点个数为0,递归结束elsereturn NodeCount(T->lchild) + NodeCount(T->rchild) + 1;//否则结点个数为左子树的结点个数+右子树的结点个数+1
}int main()
{BiTree tree;cout << "请输入建立二叉链表的序列:\n";CreateBiTree(tree);cout << "结点个数为:" << NodeCount(tree) << endl;return 0;
}

二叉树:
在这里插入图片描述
运行结果
在这里插入图片描述


http://chatgpt.dhexx.cn/article/0HUDbgZ9.shtml

相关文章

数据结构-第五章 二叉树

一、树 1.树的概念 树是一种非线性的数据结构&#xff0c;是由n个结点组成的一个集合。每一棵树都可以被分解为根节点和n棵子树构成(n>0) 根节点(Root)&#xff1a;没有父结点的结点称为根节点&#xff0c;如A 父结点&#xff1a;含有子结点的结点&#xff0c;如A是B的父…

零基础学二叉树

目录 二叉树的定义&#xff1a; 二叉树的应用&#xff1a; 认识二叉树&#xff1a; 二叉树的基本形式&#xff1a; 二叉树的节点&#xff1a; 二叉树的高度和深度&#xff1a; 二叉树的子树&#xff1a; 二叉树的度&#xff1a; 满二叉树&#xff1a; 完全二叉树&…

npm 升级

npm 版本升级 mac版本 npm install -g npm1.网上有看到别的同学碰到升级报错的情况&#xff1a;可以试试用管理员身份安装&#xff1a; sudo npm install -g npm windows版本 npm install -g npm2.安装完成之后&#xff0c;输入npm -v检查是否升级成功&#xff0c;我是从6.…

npm 升级依赖包

首先安装升级插件 npm-check-updates $ npm install -g npm-check-updates # 或者 $ cnpm install -g npm-check-updates ncu 是 npm-check-updates 的缩写命令 输入ncu命令&#xff0c;可以看到需要升级安装包 # 查看更新ncu 可以看到有好几个包要更新 # 查看所有ncu命令…

npm升级自身版本

查看版本&#xff1a;npm -v 查看版本详情&#xff1a;npm version 用命令npm view npm version&#xff0c;运行后会输出到目前为止npm的所有版本&#xff0c;如图&#xff1a; 升级为特定的版本&#xff0c;命令:npm -g install npm4.0.2,运行后并检验版本如图&#xff1a;…

npm 升级后,无法运行

更新npm npm install -g npm9.2.0问题&#xff1a;无法加载文件 D:\Program Files\nodejs\npm.ps1&#xff0c;因为在此系统上禁止运行脚本。 解决&#xff1a;依次输入如下命令 get-ExecutionPolicySet-ExecutionPolicy -Scope CurrentUserRemoteSignedget-ExecutionPolicy…

npm升级

啥时候升级&#xff1f; 在使用npm安装依赖包&#xff0c;终端出现以下提示 New major version of npm available! 6.13.4 -> 8.5.5 Changelog: https://github.com/npm/cli/releases/tag/v8.5.5 Run npm install -g npm to update! 如何升级 npm install npm -g升级报…

npm升级导致npm报错

文章目录 问题解决其他 问题 事情起因在于&#xff0c;我在执行npm init -y的时候&#xff0c;提示我可以升级 好家伙&#xff0c;脑子一时不清醒&#xff0c;我就执行了。以前看到都没想过要执行&#xff0c;今天不知道怎么了&#xff0c;也许是早饭吃多了撑的 : ) 执行完之…

npm 升级遇到的问题

问题&#xff1a;在VUE项目中&#xff0c;当前的npm版本有点低&#xff0c;想对npm进行升级&#xff0c;将npm从6.14.13的版本升级到8.0.0版本&#xff0c;运行npm install -g npm8.0.0报错 解决方法&#xff1a; 找到node文件夹下面的npm.cmd&#xff0c;将它重命名为npmx.cm…

npm 升级node.js

升级NPM 到最新 查看npm 版本&#xff1a; npm -v 更新到最新版本&#xff1a; npm install npmlatest -g 升级Node.js 从node官网下载最新node.js 安装包覆盖原理的node.js 最新node.js 下载 winr cmd 输入 where node 查看原来node 安装路径 安装成功后查看node 版本

如何升级npm 和 安装nvm 及 升级node.js

1.NPM如何升级&#xff1f; 1.1.可以使用NPM自带的命令进行升级&#xff1a; npm install -g npm 注&#xff1a;这个命令会安装最新的&#xff0c;安装到全局。 2.查看NPM版本 npm -v 注&#xff1a;要是版本过低&#xff0c;可使用上面所说命令进行升级。 3.怎么把node.js升…

算法优化(1):基础知识-凸集,单峰函数,拟凸函数与凸函数,函数凹凸性定义

本文笔记介绍我最近学习的算法优化的基础知识&#xff0c;有&#xff1a; 最优化问题的一般形式约束问题的分类及形式优化问题的分类单峰函数&#xff08;Unimodal function&#xff09;的定义拟凸函数&#xff08;Quasiconvex function&#xff09;的定义凸集&#xff08;conv…

deep_learning_凹凸函数

什么是凸函数及如何判断一个函数是否是凸函数 t元j 一、什么是凸函数 对于一元函数f(xf(x)&#xff0c;如果对于任意tϵ[0,1]tϵ[0,1]均满足&#xff1a;f(tx1(1−t)x2)≤tf(x1)(1−t)f(x2)f(tx1(1−t)x2)≤tf(x1)(1−t)f(x2)&#xff0c;则称f(x)f(x)为凸函数(convex function…

德.摩根定律及其理解

德.摩根定律的定义如下&#xff1a; 文字描述如下&#xff1a; 使用对偶性可以很方便的记忆和使用这个定律。. 我们知道如下关系呈现对偶关系&#xff0c;可以认为是“非”的关系&#xff1a; 那么将 利用对偶关系对应改写可以得到&#xff1a; .那么可以对应得到&#xff1a;…

[产品07]-产品设计定律-菲茨定律/席克定律

[产品07]-产品设计定律-菲茨定律/席克定律 一、菲茨定律1-1定义1-2应用场景1-3菲茨定律启示 二、席克定律2-1定义2-2作用 一、菲茨定律 1-1定义 菲茨定律所提出的人机界面设计法则&#xff0c;主页定义了游标移动到目标之间的距离&#xff0c;目标的大小和所花费的时间之间的…

需求定律的4个准则——《可以量化的…

5.1.5 需求定律的4个准则 需求定律有4个准则&#xff1a;价值决定价格基准&#xff0c;竞争决定价格波动幅度。消费者盈余决定购买量&#xff0c;价格决定消费者的最低层次。 1&#xff09;价值决定价格基准 消费者购买产品是为了获得商品所带来的价值&#xff0c;商品能带来的…

摩尔定律即将走向终结?对未来更广阔世界影响的55个预测!

Datawhale干货 译者&#xff1a;罗泽铭&#xff0c;伦敦大学城市学院 原文&#xff1a;https://bzogrammer.substack.com/p/the-next-century-of-computing 原作&#xff1a;Charles Rosenbauer&#xff0c;审校&#xff1a;肖明远 在这篇文章中&#xff0c;我将对信息处理技术…