首页 > 其他分享 >【数据结构-栈】卡特兰数

【数据结构-栈】卡特兰数

时间:2022-12-19 22:45:08浏览次数:42  
标签:出栈 为入 前序 二叉树 序列 数据结构 卡特兰

目录

卡特兰数公式

  • f(n) = C(2n,n) / (n+1)
  • 计算用途:二叉树形态数,出栈序列数

出栈序列数

【例 1】3 个不同元素依次进栈,能得到多少种不同的出栈序列?

【解】f(3) = C(6,3) / (3+1) = 20 / 4 = 5

【例 2】5 个不同元素依次进栈,能得到多少种不同的出栈序列?

【解】f(5) = C(10,5) / (5+1) = (6 * 7 * 6) / 6 = 42

二叉树形态数

【例】先序序列(前序序列)为 a, b, c, d 的不同二叉树的个数是?

【解】前序序列为入栈次序,中序序列为出栈序列,因为前序序列和中序序列可以唯一确定一棵二叉树,所以相当于“以序列 a, b, c, d 为入栈次序,则出栈序列的个数是?”

f(4) = C(8,4) / (4+1) = 70 / 5 = 14

标签:出栈,为入,前序,二叉树,序列,数据结构,卡特兰
From: https://www.cnblogs.com/Mount256/p/16993278.html

相关文章

  • 常用数据结构:单向链表和双向链表的实现
    1、链表是什么?链表是编程语言中常见的一种数据结构,它可以实现动态的创建和删除,只要内存足够,链表的数量和长度是可以无限多和无限长的。链表顾名思义是一种链式的数据结构,它......
  • 数据结构与算法概念
    目录引入概念第一次尝试算法的提出算法的概念算法的五大特性第二次尝试算法效率衡量执行时间反应算法效率单靠时间值绝对可信吗?时间复杂度与“大O记法”如何理解“大O记法......
  • 数据结构(6):串(下)
    上一回,我们看到串的定义和基本操作,这一会,我们看到串的一个典型应用——模式匹配!简单的模式匹配算法子串的定位操作通常称为串的模式匹配,它求的是子串(常称模式串)在主串中的位......
  • 你总是要学会数据结构的
    年末了,身边很多人都在考虑辞职这件事~ 午休的时候,和HR聊起了这个话题,她说,最近公司是“新人来,老人走呀”,年底了,她招聘的压力是越来越大了! 普遍来说,即便是再不能忍受这份......
  • 数据结构冲刺题
    简答题Q01:数据结构的定义?数据结构三要素是什么?数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构三要素:逻辑结构、存储结构、数据运算Q02:逻辑结......
  • 数据结构与算法学习笔记
    本文是王争老师的《算法与数据结构之美》的学习笔记,详细内容请看王争的专栏 。有不懂的地方指出来,我做修改。数据结构与算法思维导图数据结构指的是“一组数据的存储结构”......
  • OI 笔记:D - 数据结构
    一些技巧与思想也会归类于数据结构。D-数据结构序列结构树状数组\(\mathrm{lowbit}(x)\)函数:表示\(x\)的二进制表示中,最低位的\(1\)的数值大小,lowbit(x)=x&......
  • 数据结构 玩转数据结构 7-3 集合类的复杂度分析
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13705 1重点关注1.1结论使用二叉树实现集合Set性能优于使用链表实现集合Set. ......
  • 数据结构 玩转数据结构 7-2 基于链表的集合实现
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13704 1重点关注1.1使用链表实现集合Set详见3.1用链表实现的集合  2......
  • 从redis源码看数据结构(一)链表
    文章目录​​从redis源码看数据结构(一)链表​​​​一,redis数据类型​​​​二,redis底层列表实现​​​​1.列表底层数据结构​​​​2.redis双向链表操作​​​​新建链表​......