`

二叉树有多少种形状

阅读更多
只有两个结点的二叉树有两种形状,请问五个结点的二叉树有多少种形状
30个

分享到:
评论
2 楼 hdc1112 2010-12-20  
我的邮箱是hdc1112@gmail.com
这边的博客我不会经常来刷新。要不发邮件给我吧。
1 楼 hdc1112 2010-12-20  
我觉得是42个。欢迎和我讨论!


// f(0) = 1
// f(1) = 1
// f(2) = f(1)*f(0) + f(0)*f(1) = 2
// f(3) = f(2)*f(0) + f(1)*f(1) + f(0)*f(2) = 2*1 + 1*1 + 1*2 = 5
// f(4) = f(3)*f(0) + f(2)*f(1) + f(1)*f(2) + f(0)*f(3) = 5*1 + 2*1 + 1*2 + 1*5 = 14

#include <stdio.h>

int f(int n)
{
if (n == 0 || \
n == 1)
{
return 1;
}
int sum = 0;
int i = 0;
for (i =0; i<n; i++)
{
sum += f(i)*f(n-i-1);
}
return sum;
}

int main()
{
printf("%d\n", f(5));
return 1;
}

相关推荐

    打印二叉树-按照二叉树的形状打印

    在计算机科学中,二叉树是一种特殊的树结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树有许多应用,包括数据存储、搜索算法和图形表示等。本主题关注的是如何按照二叉树的形状将其打印出来...

    打印二叉树的图 打印二叉树形状 打印二叉树路径 控制台打印二叉树 字符环境打印二叉树

    这是一个在字符环境中,用ASCII码打印二叉树形状的算法。 在Linux控制台下写的例题,在DOS中稍有点乱。 采用层次遍法。 算法拙劣,仅供初学者做练习,(本人也是初学者,自学数据结构,刚好学到这...

    二叉树的打印树形状C#.rar

    二叉树的打印树形状,内含C#控制台demo代码

    按二叉树的形状打印二叉树

    /*按数的形状打印竖向二插树*/ void PrintTree(BiTNode *bt,int nLayer) { if(bt==NULL) return; PrintTree(bt-&gt;RChild, nLayer+4); for(int i=0;i;i++) printf(" "); printf("%d %c\n",bt-&gt;num,bt-&gt;data);/*...

    完全二叉树的种类

    构造n个(2)叶结点的的完全二叉树(完全二叉树意味着每个分支结点都有2个儿子结点),有多少种...再例如:5个叶子结点,A1,A2,A3,A4,A5,可构造出如下若干种完全二叉树形状,像这样的完全二叉树共有14种(下图并未全部列出).

    打印二叉树形状 画二叉树的图

    /*这是一个在字符环境中,用ASCII码打印二叉树形状的算法。 采用层次遍法。 算法拙劣,仅供初学者做练习,(本人也是初学者,自学数据结构,刚好学到这二叉树这一章,搞几个二叉的例题,却不知道其构造形状,想调用...

    PrintBTree.zip_print_btree_二叉树 图形化_打印二叉树

    在IT领域,二叉树是一种基础且重要的数据结构,它由节点构成,每个节点最多有两个子节点,通常称为左子节点和右子节点。本文将深入探讨如何使用C语言实现一个名为`print_btree`的功能,以图形化方式在控制台中打印...

    二叉树

    - 二叉树是一种特殊的树结构,其中每个节点最多有两个子节点,分别被称为左子节点和右子节点。 - 节点可以包含一个值,称为键或元素,以及指向其子节点的引用。 - 二叉树的根节点没有父节点,而叶子节点(度为0的...

    二叉树 平衡二叉树 平均查找长度

    二叉树是一种在计算机科学中广泛使用的数据结构,它的每个节点最多有两个子节点,通常分为左子节点和右子节点。二叉树的概念是构建许多高效算法的基础,比如搜索、排序和插入操作。 平衡二叉树(Balanced Binary ...

    二叉树树形输出

    二叉树是一种树形数据结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。在计算机科学中,二叉树经常被用于实现各种算法和数据结构,如搜索树、堆以及表达式树等。 #### 二、二叉树树形输出概述 本...

    二叉树的特点和性质

    例如,一个高度为3的满二叉树将有1个根节点,2个度为2的节点和3个叶子节点,形成一个完美的金字塔形状。 完全二叉树是另一种特殊的二叉树,它介于普通二叉树和满二叉树之间。在一个完全二叉树中,除了可能的最后一...

    二叉树求深度

    二叉树是一种特殊的树结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。在计算机科学中,二叉树的应用广泛,包括文件系统、编译器设计、数据库索引等。本问题主要关注如何计算一个二叉树的深度。 ...

    数据结构:二叉树

    二叉树是一种树形结构,其中每个节点最多有两个子节点,通常被称作左子节点和右子节点。二叉树在计算机科学中有着广泛的应用,如搜索算法、排序算法等。 #### 二、二叉树的基本概念 1. **根节点**:树的最顶层节点...

    二叉树实验

    二叉树是一种在计算机科学中广泛应用的数据结构,它是由节点(或称为顶点)组成,每个节点最多有两个子节点,通常被称作左子节点和右子节点。这个实验主要涵盖了二叉树的构建以及其基本操作,如递归遍历、计算深度和...

    二叉树教案--你也来学学啊

    二叉树有几种特殊的形态,包括空树、单节点树、完全二叉树和满二叉树。完全二叉树是所有层都尽可能填满的树,最后一层的节点都靠左排列;满二叉树是除了最后一层外,每一层都是满的,并且最后一层的所有节点都靠左...

    二叉树课练空题

    基于这些组成部分,二叉树有六种基本的遍历顺序:前序遍历(NLR)、中序遍历(LNR)、后序遍历(LRN)以及它们的反向顺序。其中,最常用的三种遍历方法分别是前序遍历、中序遍历和后序遍历。 - 如果已知一棵二叉树的前序...

    VC++二叉树动态演示

    二叉树的形状由其节点的插入顺序决定,这里提到的是排序二叉树,也称为二叉搜索树。在排序二叉树中,对于任意节点,其左子树中的所有节点的值都小于该节点,而其右子树中的所有节点的值都大于该节点。 中序遍历是...

    数据结构二叉树操作;C#二叉树;C#数据结构二叉树

    二叉树的形状可以是任意的,但通常我们关注几种特殊形态的二叉树,如满二叉树(所有层都是满的,除了可能的最后一层),完全二叉树(所有层都是满的,除了可能的最后一层,且最后一层的所有节点都尽可能靠左),以及...

    树和二叉树习题(老师给的题)含答案

    3. 按照二叉树的定义,具有 3 个结点的不同形状的二叉树有 5 种。 答案:C. 5 4. 按照二叉树的定义,具有 3 个不同数据结点的不同的二叉树有 30 种。 答案:C. 30 5. 深度为 5 的二叉树至多有 31 个结点。 答案...

    平衡二叉树课程设计 课程设计

    平衡二叉树是一种特殊的二叉树数据结构,它在保持二叉查找树性质的同时,确保了左右子树的高度差不超过1。这样的结构使得在平衡二叉树中的搜索、插入和删除操作的时间复杂度都能保持在O(log n)的水平,大大提高了...

Global site tag (gtag.js) - Google Analytics