计算二叉树的大小
Posted xielei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算二叉树的大小相关的知识,希望对你有一定的参考价值。
二叉树的大小是指树中存在的节点的数量。例如,下面这棵二叉树的大小是5。
我们定义 size(tree) 函数用来递归地计算二叉树 tree 的大小,它的工作原理如下
二叉树的大小 = 1 + 左子树的大小 + 右子树的大小
Algorithm:
size(tree) 1. 如果 tree 为空,则返回0 2. 否者 (a) 通过递归地调用 size(tree.left) 获取左子树的大小 (a) 通过递归地调用 size(tree.right) 获取右子树的大小 (c) 用如下公式求出二叉树的大小: size(tree) = size(left) + size(right) + 1 (d) 返回 size(tree)
#include <bits/stdc++.h> using namespace std; class node { public: int data; node* left; node* right; }; node* newNode(int data) { node* Node = new node(); Node->data = data; Node->left = NULL; Node->right = NULL; return(Node); } int size(node* node) { if (node == NULL) return 0; else return(size(node->left) + 1 + size(node->right)); } int main() { node *root = newNode(1); root->left = newNode(2); root->right = newNode(3); root->left->left = newNode(4); root->left->right = newNode(5); cout << "Size of the tree is " << size(root); return 0; }
以上是关于计算二叉树的大小的主要内容,如果未能解决你的问题,请参考以下文章